Docs / Email Servers / How to Set Up Postal SMTP Server on Linux

How to Set Up Postal SMTP Server on Linux

By Admin · Mar 1, 2026 · Updated Apr 24, 2026 · 30 views · 2 min read

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.com

Step 2: Edit the Configuration

nano /opt/postal/config/postal.yml

Key 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.com

Step 3: Initialize and Start

postal initialize
postal make-user
postal start

Step 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

Was this article helpful?