Я настроил postifx как почтовый ретранслятор с настроенным внешним сервером smtp. В целом это работает нормально. Но моя цель состоит в том, чтобы все письма пересылались на внешний SMTP-сервер, кроме 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
С этой конфигурацией postfix пытался отправить корневую почту на root@example.org через SMTP-сервер. Местная доставка для root была бы моим предпочтительным решением здесь.
Кто-нибудь может помочь?
Спасибо!
Поскольку установка postfix предлагает широкий спектр настроек, ниже приведены некоторые примечания, которые мощь help, поскольку они включили локальную доставку почты в системе Ubuntu 16 с установленным postfix (пути могут отличаться в разных системах):
Postfix не будет доставлять почту root, но вы можете перенаправить всю почту для root на другую учетную запись пользователя localhost, например пользователь постфикса, если он существует, но подойдет любой другой пользователь. Для этого редактировать
/ etc / aliases
к, например:
postmaster: <USER1>
root: <USER1>
<USER2>: <USER1>
...
затем введите команду
sudo newaliases
Procmail должен быть установлен, это можно сделать, например, по команде
sudo apt установить procmail
(Можно прервать работу, если procmail уже установлен.)
Некоторые настройки в
/etc/postfix/main.cf
может быть
myhostname = <HOSTNAME>@<LOCALNET>
mydestination = <ALL HOSTNAMES ASSIGNED TO 127.0.0.1, MAYBE ::1, IN /etc/hosts, DELIMITED BY SPACE>
local_transport = local
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
# following all possible arguments, strip as you like
notify_classes = bounce, 2bounce, delay, policy, protocol, resource, software
Модификация вступит в силу после подачи команды
sudo service postfix перезапуск
Очень помогает чтение файлов журнала
/var/log/mail.log, /var/log/mail.err
Более полезное чтение:
http://www.postfix.org/BASIC_CONFIGURATION_README.html
http://www.postfix.org/LOCAL_RECIPIENT_README.html