Some notes regarding the installation & configuration of postfix in the most secure way I know so far today.
The target operating system is an Ubuntu 16.
sudo apt-get install postfix sudo apt-get install mailutils
Copy the default config:
cp /usr/share/postfix/main.cf.debian /etc/postfix/main.cf
This is my configuration for a host that it is isolated in internet, and it has no special needs (it is not the mail server for any domain, it only needs to send some emails):
# See /usr/share/postfix/main.cf.dist for a commented, more complete version mail_owner = postfix # Debian specific: Specifying a file name will cause the first # line of that file to be used as the name. The Debian default # is /etc/mailname. myhostname = cloud.mister-i.com mydomain = mister-i.com myorigin = $myhostname mydestination = $myhostname, localhost, novaprime mynetworks_style = host relay_domains = $mydestination smtp_generic_maps = hash:/etc/postfix/generic smtpd_banner = $myhostname ESMTP $mail_name biff = no # appending .domain is the MUA's job. append_dot_mydomain = no # Uncomment the next line to generate "delayed mail" warnings #delay_warning_time = 4h readme_directory = no compatibility_level = 2 inet_interfaces = all inet_protocols = all smtpd_use_tls = no smtp_use_tls = no
It's very important to configure the file
/etc/postfix/generic with a remapping of the local
users to complete email addresses:
# REMEMBER!!!! After making changes to this file you must run: # # postmap /etc/postfix/generic # # username email@example.com
In that way, every outgoing email is rewrited from username@localhost to firstname.lastname@example.org and nowadays email servers can recognize it as a valid email address.
After that don't forget to run postmap /etc/postfix/generic in order to update the database with the fresh configuration.
mail --subject="hello from server" email@example.com