Postal is een krachtige open-source e-mailplatform waarmee je je eigen SMTP-server kunt beheren voor het verzenden van transactionele en bulk e-mails. Het biedt een webinterface, API en SMTP-toegang vergelijkbaar met diensten zoals SendGrid of Mailgun.
Deze handleiding laat zien hoe je Postal installeert op een VPS-server met Docker en hoe je DNS-records configureert voor een correcte e-mailaflevering.
Minimale systeemvereisten
- Ubuntu 22.04 server
- Minimaal 4 GB RAM
- 2 CPU-cores
- Publiek IP-adres
- Domein met DNS-toegang
Stap 1 – Server voorbereiden
ssh root@SERVER_IP
apt update && apt upgrade -y
apt install git curl jq -y
Stap 2 – Docker installeren
curl -fsSL https://get.docker.com | sh
docker --version
Postal draait volledig op Docker en kan niet zonder gebruikt worden.
Stap 3 – Hostname, A-record en Reverse DNS (PTR) configureren
Een correcte hostname en DNS-configuratie is essentieel voor e-mailaflevering en SSL.
Hostname instellen
hostnamectl set-hostname postal.example.com
Bewerk het hosts-bestand:
nano /etc/hosts
127.0.0.1 localhost
SERVER_IP postal.example.com postal
A-record configureren
postal.example.com → SERVER_IP
PTR (Reverse DNS) configureren
SERVER_IP → postal.example.com
Belangrijk: Hostname, A-record en PTR moeten exact overeenkomen.
Stap 4 – Postal helper installeren
git clone https://github.com/postalserver/install /opt/postal/install
ln -s /opt/postal/install/bin/postal /usr/bin/postal
Stap 5 – MariaDB starten (Docker)
docker run -d \
--name postal-mariadb \
-p 127.0.0.1:3306:3306 \
--restart always \
-e MARIADB_DATABASE=postal \
-e MARIADB_ROOT_PASSWORD=StrongPassword \
mariadb
Stap 6 – Configuratie genereren
postal bootstrap postal.example.com
Stap 7 – Postal configureren
nano /opt/postal/config/postal.yml
main_db:
host: 127.0.0.1
username: root
password: StrongPassword
database: postal
Stap 8 – Postal initialiseren
postal initialize
postal make-user
Stap 9 – Postal starten
postal start
postal status
Stap 10 – Caddy starten (Docker)
docker run -d \
--name postal-caddy \
--restart always \
--network host \
-v /opt/postal/config/Caddyfile:/etc/caddy/Caddyfile \
-v /opt/postal/caddy-data:/data \
caddy
Stap 11 – DNS configuratie
MX record
postal.example.com → postal.example.com
SPF record
v=spf1 ip4:SERVER_IP ~all
DKIM record
Wordt gegenereerd in de Postal interface.
Return-Path domein
rp.postal.example.com → SERVER_IP
Stap 12 – Toegang tot Postal
https://postal.example.com
Stap 13 – SMTP-server aanmaken
- Maak een Organization aan
- Maak een Mail Server aan
- Voeg een domein toe
- Genereer SMTP-gegevens
Voorbeeld SMTP-configuratie
SMTP Host: postal.example.com
SMTP Port: 587
Encryption: TLS
Username: your_username
Password: your_password
Stap 14 – Postal upgraden
cd /opt/postal/install
git pull
postal update
postal restart
Conclusie
Postal draait volledig op Docker en gebruikt containers voor MariaDB en Caddy. Met een correcte DNS-configuratie en juiste hostname-instellingen kun je een betrouwbare e-mailaflevering realiseren.