Postfix

From Freephile Wiki
visit www.postfix.org

Notes on using Postfix [1]. Quick and dirty procedure for setting up Postfix on a new machine that needs email.

Setting up Postfix[edit | edit source]

Add Postfix Mail Transfer Agent as satellite smarthosting through Google, install mail utilities, setup an alias for root's mail and test it all

  1.  sudo su -
    
  2.  apt-get install postfix
    
  3.  apt-get install bsd-mailx
    # or 
    apt-get install mailutils
    
  4. 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
    
  5.  echo "smtp.gmail.com me@example.com:PASSWORD" > /etc/postfix/sasl_passwd
    
  6.  postmap /etc/postfix/sasl_passwd
    
  7.  chmod 640 /etc/postfix/sasl_passwd*
    
  8.  chown postfix:postfix /etc/postfix/sasl_passwd*
    
  9.  /etc/init.d/postfix restart
    
  10.  echo "root: me@example.com" >> /etc/aliases && newaliases
    
  11.  echo test |mail -s "test mail sent to external" greg.rundlett@gmail.com
    
  12.  echo test |mail -s "test mail sent to root" root
    


Security[edit | edit source]

https://drownattack.com/postfix.html illustrates how to secure your Postfix installation against weak encryption.

Version[edit | edit source]

Run postconf -d | grep mail_version to find out your Postfix version.


Log[edit | edit source]

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[edit | edit source]

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[edit source]

  1. loosely following the info at http://braiden.org/?p=15