Go to TogaWare.com Home Page. GNU/Linux Desktop Survival Guide
by Graham Williams
Duck Duck Go



CLICK HERE TO VISIT THE UPDATED SURVIVAL GUIDE

Email Server using Postfix SMTP

20201201 Postfix is a standard SMTP server that is easy to setup for sending email from your server. It can also be set up to use another authenticated server, referred to as a smarthost, to send your email, as covered in Section 24.3. Many cloud providers will block a virtual server on their cloud from sending email directly to avoid spammers using these services.

$ wajig install postfix
  Internet Site
  System mail name: crisp.net.au

The typical settings for a local host to send email using SMTP, as stored in /etc/postfix/main.cf is created. Further settings can be configure using the reconfigure command:

$ wajig reconfigure postfix
  [...]
  Root and postmaster mail recipient: support@crisp.net.au
  Accept mail: .... crisp.net.au
  Synchronous updates: No
  Local networks: 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
  Mailbox size limit: 0
  Local address extension character: +
  Internet protocols to use: all

The configuration as in /etc/postfix/main.cf might look like:

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
append_dot_mydomain = no
readme_directory = no
compatibility_level = 2
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_security_level=may
smtp_tls_CApath=/etc/ssl/certs
smtp_tls_security_level=may
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = crisp
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = crisp, 132.5.6.12, crisp, localhost.localdomain, localhost, crisp.net.au
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all

To check the server is active:

$ sudo netstat -tulpn | grep :25
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      21658/master        
tcp6       0      0 :::25                   :::*                    LISTEN      21658/master        

$ echo "This is a test email." \
  | mail -s "Subject" -a "From: webmaster@crisp.net.au" fred@togaware.com
$ sudo tail -f /var/log/mail.log
$ sudo journalctl -u postfix

Resources include:


Support further development by purchasing the PDF version of the book.
Other online resources include the Data Science Desktop Survival Guide.
Books available on Amazon include Data Mining with Rattle and Essentials of Data Science.
Popular open source software includes rattle and wajig.
Hosted by Togaware, a pioneer of free and open source software since 1984.
Copyright © 1995-2020 Togaware Pty Ltd. Creative Commons ShareAlike V4.