У меня установлен Postfix на одном компьютере, который является единственным конечным адресатом почты для:
mail.example.org
) и localhost
lists.example.org
Соответствующие настройки в main.cf
являются:
myhostname = mail.example.org
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = $myhostname
mydestination = localhost, $myorigin
relay_domains = $mydestination, lists.example.org
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
# Virtual domains
virtual_mailbox_base = /var/mail/vhosts
virtual_mailbox_domains = hash:/etc/postfix/virtual_domains
virtual_mailbox_maps = hash:/etc/postfix/virtual_mailboxes
virtual_alias_maps = hash:/etc/postfix/virtual_aliases
virtual_minimum_uid = 100
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
# mailman configuration
mailman_destination_recipient_limit = 1
transport_maps = hash:/etc/postfix/transport
smtpd_relay_restrictions = permit_mynetworks,
reject_invalid_hostname,
reject_unknown_sender_domain,
reject_unknown_recipient_domain,
reject_unauth_destination,
reject_unlisted_recipient,
reject_rbl_client zen.spamhaus.org,
permit
В настоящее время почта для lists.example.org
направляется в Mailman через следующие transport_maps
настройка:
lists.example.org mailman:
Это работает, но это означает, что если электронное письмо отправлено в неизвестный список, сообщение принимается Postfix, а затем возвращается обратно, когда оно обрабатывается Mailman. По нескольким причинам - в частности, чтобы уменьшить обратное рассеяние и как можно раньше отклонять почту - я хочу, чтобы Postfix отклонял почту, как только видит сообщение RCPT TO
который соответствует @lists.example.org
и не соответствует списку почтальонов.
Я думаю, что смогу достичь этого результата, создав файл, содержащий все псевдонимы списка Mailman, и указав это как relay_recipient_maps
в main.cf
. Однако я понимаю, что relay_recipient_maps
относится к relay_domains
, и я не хочу $mydestination
адреса, которые будут затронуты.
Итак, мои два связанных вопроса:
$mydestination
из relay_domains
, и если я это сделаю, будут ли работать мои существующие псевдонимы?relay_domains
установлен на lists.example.org
, воля relay_recipient_maps
добиться желаемого результата?В качестве альтернативы, если у Postfix есть способ запросить Mailman и получить ответ перед тем, как принять почту для доставки (возможно, с фильтром до очереди - так я обрабатываю почту для SpamAssassin), это также достигнет того, чего я хочу.
Заранее спасибо. :-)
Мне потребовалось время, чтобы сделать это, но я сделал следующие шаги:
$mydestination
из relay_domains
./etc/postfixo/relay_recipient_maps
.relay_recipient_maps = hash:/etc/postfix/relay_recipient_maps
к main.cf
Электронные письма в несуществующие списки теперь отклоняются как часть начальной SMTP-транзакции до того, как будет проведена какая-либо проверка на спам и до того, как почта будет передана Mailman.