Docs / Email Servers / Configuring Postfix Relay Through External SMTP

Configuring Postfix Relay Through External SMTP

By Admin · Feb 23, 2026 · Updated Apr 23, 2026 · 8 views · 3 min read

In this article, we'll walk through the complete process of working with postfix in a server environment. Understanding relay is essential for maintaining a reliable and performant infrastructure.

Prerequisites

  • A registered domain name (for public-facing services)
  • Basic familiarity with the Linux command line
  • Root or sudo access to the server
  • A clean IP address not on any blacklists
  • Valid PTR (reverse DNS) record configured

Server Installation

The postfix configuration requires careful attention to resource limits and security settings. On a VPS with limited resources, it's important to tune these parameters according to your available RAM and CPU cores.


# Install Postfix and Dovecot
sudo apt update
sudo apt install -y postfix dovecot-core dovecot-imapd dovecot-lmtpd

# Configure Postfix main.cf
sudo postconf -e 'myhostname = mail.example.com'
sudo postconf -e 'mydomain = example.com'
sudo postconf -e 'smtpd_tls_cert_file = /etc/letsencrypt/live/mail.example.com/fullchain.pem'
sudo postconf -e 'smtpd_tls_key_file = /etc/letsencrypt/live/mail.example.com/privkey.pem'

Make sure to restart the service after applying these changes. Some settings require a full restart rather than a reload to take effect.

  • Use version control for configuration files
  • Test disaster recovery procedures regularly
  • Set up monitoring before going to production

Authentication Setup (SPF/DKIM)

After applying these changes, monitor the server's resource usage for at least 24 hours to ensure stability. Tools like htop, iostat, and vmstat can provide real-time insights into system performance.


# Generate DKIM key
sudo apt install -y opendkim opendkim-tools
sudo mkdir -p /etc/opendkim/keys/example.com
sudo opendkim-genkey -b 2048 -d example.com -D /etc/opendkim/keys/example.com -s default -v

# Add the DNS TXT record from:
cat /etc/opendkim/keys/example.com/default.txt

Make sure to restart the service after applying these changes. Some settings require a full restart rather than a reload to take effect.

Client Configuration

The postfix configuration requires careful attention to resource limits and security settings. On a VPS with limited resources, it's important to tune these parameters according to your available RAM and CPU cores.


# Install Postfix and Dovecot
sudo apt update
sudo apt install -y postfix dovecot-core dovecot-imapd dovecot-lmtpd

# Configure Postfix main.cf
sudo postconf -e 'myhostname = mail.example.com'
sudo postconf -e 'mydomain = example.com'
sudo postconf -e 'smtpd_tls_cert_file = /etc/letsencrypt/live/mail.example.com/fullchain.pem'
sudo postconf -e 'smtpd_tls_key_file = /etc/letsencrypt/live/mail.example.com/privkey.pem'

Each line in the configuration serves a specific purpose. The comments explain the reasoning behind each setting, making it easier to customize for your specific use case.

  • Keep your system packages updated regularly
  • Review log files weekly for anomalies
  • Monitor disk space usage and set up alerts
  • Enable automatic security updates for critical patches

Common Issues and Solutions

  • Service won't start: Check the logs with journalctl -xe -u postfix. Common causes include port conflicts, missing configuration files, or insufficient permissions.
  • Connection timeout: Verify your firewall rules allow traffic on the required ports. Use ss -tlnp to confirm the service is listening on the expected port.
  • Slow performance: Check for disk I/O bottlenecks with iostat -x 1 and network issues with mtr. Review application logs for slow queries or requests.

Wrapping Up

Following this guide, your postfix setup should be production-ready. Keep an eye on resource usage as your traffic grows and don't forget to test your backup and recovery procedures periodically.

Was this article helpful?