postmark

command module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 8, 2022 License: MIT Imports: 7 Imported by: 0

README

postmark

Go Report Card CodeFactor codebeat badge MIT license

Real-time notifications from Postmark webhooks

⚡ Receive notifications via webhooks ⚡ Save events in MySQL / PostgreSQL / SQLite

Best use-case

⚡ Handle repeated abuses on the application-side before sending transactional emails to a fake/bad email address

Features

Version: 0.1.0

Message type Supported
Transactional
Inbound
Broadcasts
Setup
  • You need a MySQL / PostgreSQL instance, or you can use SQLite
  • Download the binary go install github.com/piLinux/postmark@latest
  • Create a free project on Sentry to track errors
    • Choose Go as the platform
    • Save the DNS (format: https://secret_code@abc.ingest.sentry.io/secret_number)
  • Change the filename from .env.sample to .env
  • Update the following variables in the .env file (DO NOT DELETE other non-used variables)
    • APP_PORT
    • SentryDSN
    • USERNAME
    • PASSWORD
    • DBDRIVER
    • DBUSER
    • DBPASS
    • DBNAME
    • DBHOST
    • DBPORT
    • DBTIMEZONE
  • Execute the binary file. It will automatically create a new table postmark_outbounds and migrate the database.
  • On Postmark,
    • select your server and browse the transactional message stream
    • select Add webhook
    • add the following information:
      • Webhook URL: http(s)://<your_ip_or_domain:port>/webhooks/v1/outbound-events If you run the application behind a reverse proxy (NGINX / Apache) and configure a domain, then the URL will be http(s)://<your_domain>/webhooks/v1/outbound-events
      • add Basic auth credentials
      • select the events Postmark should forward to your server
postmark_outbounds database
Name Comment
id primary key
created_at data creation time in the database
updated_at
deleted_at
record_type Delivery / Bounce / SpamComplaint / Open / Click / SubscriptionChange
type HardBounce / SpamComplaint
type_code 1 (for bounce) / 100001 (for spam complaint) / 0 (others)
message_id Postmark message ID
tag user-defined tag
from from email
to destination email
event_at timestamp from Postmark
server_id Postmark server ID

License

© piLinux 2022

Released under the MIT license

This project is built with GoREST.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL