⚡ Receive notifications via webhooks
⚡ Save events in MySQL / PostgreSQL / SQLite
⚡ Handle repeated abuses on the application-side before sending transactional emails to a fake/bad email address
Version: 0.1.1
| Message type | Supported |
|---|---|
| Transactional | ✅ |
| Inbound | ❌ |
| Broadcasts | ❌ |
- 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
Goas the platform - Save the
DNS(format:https://[email protected]/secret_number)
- Choose
- Change the filename from
.env.sampleto.env - Update the following variables in the
.envfile (DO NOT DELETE other non-used variables)APP_PORTSentryDSNUSERNAMEPASSWORDDBDRIVERDBUSERDBPASSDBNAMEDBHOSTDBPORTDBTIMEZONE
- Execute the binary file. It will automatically create a new table
postmark_outboundsand migrate the database. - On Postmark,
- select your server and browse the
transactionalmessage stream - select
Add webhook - add the following information:
- Webhook URL:
http(s)://<your_ip_or_domain:port>/webhooks/v1/outbound-eventsIf you run the application behind a reverse proxy (NGINX / Apache) and configure a domain, then the URL will behttp(s)://<your_domain>/webhooks/v1/outbound-events - add
Basic auth credentials - select the events Postmark should forward to your server
- Webhook URL:
- select your server and browse the
| 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 |
© piLinux 2022
Released under the MIT license
This project is built with GoREST.