Назад | Перейти на главную страницу

Postfix Relay - но локальная доставка почты для root

Я настроил 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

http://www.postfix.org/postconf.5.html#local_transport

http://www.postfix.org/aliases.5.html