This these guides configure your postfix so its forwards all local mails to an external server using authentication.
Relay all Mail
This is the content of the entire /etc/postfix/main.cf the servers name is ns1.fnf.nu the mail going out comes as root@dalesjo.com instead of root@ns1.fnf.nu. all mail is relayed to 192.168.61.114.
inet_interfaces = loopback-only mydestination= myhostname = ns1.fnf.nu mynetworks=127.0.0.0/8 [::1]/128 myorigin = dalesjo.com relayhost = 192.168.61.114 local_transport=error: local delivery disabled
https://www.rootusers.com/configure-postfix-to-forward-mail-to-a-central-relay-server/
Authenticate against relay
Install sasl to enable authentication.
[code language=”bash”]yum -y install postfix cyrus-sasl-plain mailx[/code]
Add the code below to /etc/postfix/main.cf
smtp_use_tls = yes smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt smtp_sasl_security_options = noanonymous smtp_sasl_tls_security_options = noanonymous
/etc/postfix/sasl_passwd is where username and password is stored
[code language=”bash”]echo "[192.168.61.114]:587 myusername:secret" > nano /etc/postfix/sasl_passwd
postmap /etc/postfix/sasl_passwd
chown root:postfix /etc/postfix/sasl_passwd*
chmod 640 /etc/postfix/sasl_passwd
systemctl restart postfix[/code]
https://devops.profitbricks.com/tutorials/configure-a-postfix-relay-through-gmail-on-centos-7/
Testing
echo "Testing" | mail -s "Test Message 4" my@email.com
Errors
If you get errors like the one below, it might be that you missed to install the package cyrus-sasl-plain
(delivery temporarily suspended: SASL authentication failed; cannot authenticate to server example.com[1.1.1.1]: no mechanism available)