Здесь есть несколько ответов о том, как настроить postfix для перенаправления всех сообщений в один почтовый ящик для разработки / тестирования почтовых скриптов.
Я ищу вариант этого, где я открываю альтернативный порт на существующем почтовом сервере и хочу, чтобы все SMTP-сообщения, доставленные на этот порт, сбрасывались в почтовый ящик (Dovecot, через локальную доставку) на том же сервере.
Моя проблема в том, что smtpd разделяет конфигурацию в main.cf, и я не вижу способа запустить вторую копию smtpd без настройки всей отдельной среды postfix. Ищу более простое решение.
В smtp-sink
программа почти именно то, что я хочу. Он записывает каждое сообщение в новый файл, но я бы также хотел, чтобы они были перенесены через локальную доставку в Dovecot, где мой почтовый клиент может их легко увидеть.
Может ли кто-нибудь порекомендовать простой способ сделать это возможным? Я даже приму Perl-скрипт, который слушает / читает SMTP и записывает LMTP.
Вы можете переопределить smtpd_recipient_restrictions
на вторичный порт (например, порт 9925), чтобы ПЕРЕПРАВИТЬ электронное письмо на выбранный вами почтовый ящик (например, dumpbin@example.com).
Запись в master.cf
9925 inet n - - - - smtpd
-o smtpd_recipient_restrictions=check_recipient_access,pcre:/etc/postfix/x.pcre,reject_unauth_destination
файл /etc/postfix/x.pcre
/.*/ REDIRECT dumpbin@example.com
При такой настройке каждое электронное письмо, приходящее на этот порт, будет соответствовать шаблону PCRE на /etc/postfix/x.pcre
, поэтому postfix ПЕРЕНАПРАВИТЕ его на dumpbin@example.com.
Ваша последняя задача - убедиться, что dumpbin@example.com был доставлен через dovecot LMTP.