Skip to main content

How to Configure Postfix SMTP Relay on CWP CentOS 7 with Relay Provider ?

You can configure your Postfix  to send email via relay using SASL authentication. Simple Authentication and Security Layer (SASL) is a standard authentication framework supported by many services including Postfix.
Make sure the SASL authentication framework, and mailx are all installed.
# yum -y install cyrus-sasl-plain mailx 
In /etc/postfix/ , Add the following lines
smtp_sasl_security_options = noanonymous
smtp_sender_dependent_authentication = yes
sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relay
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
header_size_limit = 4096000 
In /etc/postfix/sender_relay, add domain that must go through a relay.          
In /etc/postfix/sasl_passwd, provide credentials that listed in /etc/postfix/sender_relay. 
Don't forget the following commands.
# postmap sasl_passwd sender_relay
# postfix reload 
Now you can flush the email queue (attempt to deliver the previous emails).
# postqueue -f 
Access to the sasl_passwd files should be restricted. ( If needed )
# chown root:postfix /etc/postfix/sasl_passwd*
# chmod 640 /etc/postfix/sasl_passwd*


# chmod 600 sasl_passwd
# chown root:root sasl_passwd 

Troubleshoot Delivery Issues

The maillog can be reviewed if the test message is not successfully delivered. Open another shell and run tail while performing another test.
 tail -f /var/log/maillog 
If there are not enough details in the maillog to determine the problem, then the debug level can be increased by adding the following lines to the /etc/postfix/
The Postfix configuration must be reloaded after updating the file.
 systemctl reload postfix 
Remember to remove the debug settings when testing is complete. The verbose logs can have a negative impact on server performance.