What Is Postal?
Postal is an open-source mail delivery platform designed for sending transactional and bulk emails. It provides a web interface for tracking deliveries, managing domains, and monitoring bounce rates. Postal is a strong self-hosted alternative for outbound email from your Breeze.
Prerequisites
- A Breeze with at least 4 GB RAM running Ubuntu 22.04+
- Docker and Docker Compose installed
- A domain with proper DNS records
- Port 25 open for outbound SMTP
Step 1: Clone and Configure Postal
git clone https://github.com/postalserver/install /opt/postal/install
sudo ln -s /opt/postal/install/bin/postal /usr/bin/postal
postal bootstrap postal.yourdomain.comStep 2: Edit the Configuration
nano /opt/postal/config/postal.ymlKey settings to configure:
web:
host: postal.yourdomain.com
protocol: https
smtp_server:
port: 25
tls_enabled: true
dns:
mx_records:
- mx.postal.yourdomain.com
spf_include: spf.postal.yourdomain.com
return_path_domain: rp.postal.yourdomain.comStep 3: Initialize and Start
postal initialize
postal make-user
postal startStep 4: Configure DNS
Add these DNS records for your sending domain:
- SPF:
v=spf1 a mx include:spf.postal.yourdomain.com -all - Return Path: CNAME
rp.postal.yourdomain.com - DKIM: Add the TXT record from the Postal web interface under your domain settings
Step 5: Access the Dashboard
Navigate to https://postal.yourdomain.com and log in with the credentials created during make-user. From the dashboard you can add organizations, create mail servers, and generate API credentials for sending.
Tips
- Monitor delivery stats and bounces from the web dashboard
- Set up webhook endpoints to receive delivery notifications
- Use IP warm-up if sending volume from your Breeze is new