I set up postifx as mail relay with a external smtp server configured. Overall this works fine. But my goal is, that all mails will forwarded to the external smtp server – except root.
/etc/postfix/main.cf:
#myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
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
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = example.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = localhost
relayhost = [smtp.relay.com]:587
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = 127.0.0.1
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options =
smtpd_use_tls=yes
smtp_tls_security_level = encrypt
With this config, postfix tried to send root mails to root@example.org via the SMTP server. Local delivery for root would be my preferred solution here.
Can anyone help?
Thanks!
Best Answer
Since postfix setup offers a wide variety of settings following are some notes that might help as they enabled local mail delivery on a Ubuntu 16 system with postfix installed (paths may differ on different systems):
Postfix will not deliver to root, but you can redirect all mails for root to another localhost user acount, e.g. the postfix user if such exists, but any other user will do. For that edit
to, e.g.:
then issue the command
sudo newaliases
Procmail must be installed, this can be done e.g. by the command
sudo apt install procmail
(One can abort shall procmail be already installed.)
Some settings in
may be
Modification will be effective after issuing the command
sudo service postfix restart
It helps a lot to read the log files
More helpful reading:
http://www.postfix.org/BASIC_CONFIGURATION_README.html
http://www.postfix.org/LOCAL_RECIPIENT_README.html
http://www.postfix.org/postconf.5.html#local_transport
http://www.postfix.org/aliases.5.html