Postfix
Notes on using Postfix [1]. Quick and dirty procedure for setting up Postfix on a new machine that needs email.
Setting up Postfix
Add Postfix Mail Transfer Agent as satellite smarthosting through Google, install mail utilities, setup an alias for root's mail and test it all
sudo su -
apt-get install postfix
apt-get install bsd-mailx # or apt-get install mailutils
cat <<HERE | sudo tee /etc/postfix/main.cf > /dev/null # work-around for Digital Ocean's blocking of IPv6 for email smtp_bind_address = 0.0.0.0 # or set inet_protocols = ipv4 # satellite configuration smtp_use_tls = yes smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_sasl_tls_security_options = noanonymous # list of CAs to trust when verifying server certificate smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt HERE
echo "smtp.gmail.com me@example.com:PASSWORD" > /etc/postfix/sasl_passwd
postmap /etc/postfix/sasl_passwd
chmod 640 /etc/postfix/sasl_passwd*
chown postfix:postfix /etc/postfix/sasl_passwd*
/etc/init.d/postfix restart
echo "root: me@example.com" >> /etc/aliases && newaliases
echo test |mail -s "test mail sent to external" greg.rundlett@gmail.com
echo test |mail -s "test mail sent to root" root
Security
https://drownattack.com/postfix.html illustrates how to secure your Postfix installation against weak encryption.
Version
Run postconf -d | grep mail_version
to find out your Postfix version.
Log
All mail activity goes to the mail log, and you can see what's going on there:
sudo tail -100 /var/log/mail.log
Delete Mail
Postfix stores mails in a queue before sending it. Sometimes you wish to remove the mails from the queue but wonder how. Postfix offers the postsuper
command which can be used to delete unsent mails from the queue. Before removing the mail from the queue it is good idea to list all mails in the queue. By issuing the command:
mailq
you will list all of the mails which are queued or simply timed out for some reason.
If you want to remove a mail from the "mailq" type:
postsuper -d mailID
where mailID is the ID of the message in the mail queue.
Issuing the command:
postsuper -d ALL
will delete all queued messages from the mailq.
References
- ↑ loosely following the info at http://braiden.org/?p=15