# Packages
No description provided by the author
No description provided by the author
No description provided by the author
# README
postmark
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.1
Message type | Supported |
---|---|
Transactional | :white_check_mark: |
Inbound | :x: |
Broadcasts | :x: |
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://[email protected]/secret_number
)
- Choose
- 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 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
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.