A fully operational email server built on a VPS using Mailcow Dockerized — handling send, receive, spam filtering, and webmail with a perfect deliverability score.
Configured Ubuntu 22.04 VPS on Datalix with proper hostname set to mail.domael.site. Requested port 25 unblock from provider. Opened all required mail ports on UFW firewall.
Added all required DNS records on Cloudflare: A record for mail subdomain, MX record pointing to mail server, SPF TXT record, and DMARC policy record. All set to DNS Only (no proxy).
Cloned Mailcow Dockerized, ran the config generator, configured HTTP/HTTPS ports to 8080/8443 to avoid conflict with existing Nginx Proxy Manager. Pulled and started all 18 Docker containers.
Added Mailcow as a proxy host in Nginx Proxy Manager using HTTPS scheme forwarding to internal port 8443. Enabled Let's Encrypt SSL certificate with Force SSL and HTTP/2 support.
Logged into Mailcow admin panel, added domael.site as a mail domain, created info@domael.site mailbox. Generated DKIM keypair and added the public key as a TXT record in Cloudflare DNS.
Configured reverse DNS (PTR record) via Datalix panel to match sending IP to mail.domael.site. Disabled IPv6 sending to prevent unverified IPv6 address rejections by Gmail and other providers.
| Type | Name | Value | Purpose | Status |
|---|---|---|---|---|
| A | 176.100.37.12 | Mail server IP | Active | |
| MX | @ | mail.domael.site (10) | Incoming mail routing | Active |
| TXT | @ | v=spf1 mx ~all | SPF — authorized senders | Active |
| TXT | _dmarc | v=DMARC1; p=none; rua=... | DMARC policy | Active |
| TXT | dkim._domainkey | v=DKIM1; k=rsa; p=... | DKIM email signing | Active |