Postfix – relay emails via a another mailserver with authentication and submission enabled
This short writeup will guide you on how to do it on Debian-based and Fedora systems.
We begin with installing posfix and the required packages for authentication.
First – doublecheck that your machine has a Fully Qualified Domain Name set in the hostfile, this will remove alot of headaches from you in the future.
My machine is named “T15.domain.tld” – so emails will be arriving from “user@T15.domain.tld”.
Debian:
apt-get install postfix mailutils libsasl2-2 libsasl2-modules
Fedora:
dnf install postfix mailx mailx cyrus-sasl cyrus-sasl-plain
Next, we will create the sasl-password file and hash it:
echo "[relay.domain.tld]:587 username:password" > /etc/postfix/sasl
postmap /etc/postfix/sasl
Great, now we have to tell postfix that all emails sent via it should be relayed throu the smtp-relay:
relayhost = [relay.domain.tld]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options =
smtp_sasl_password_maps = hash:/etc/postfix/sasl
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
Restart postfix and check the log, so everything looks good.
Test your setup:
echo "This is a test" | mail -s "Just a test" destination_email@domain.tld
You can check the status of the mailqueue with the command mailq
.
And that's about it!