
Здесь есть несколько ответов о том, как настроить Postfix для перенаправления всех сообщений в один почтовый ящик для разработки/тестирования почтовых скриптов.
Я ищу вариант, при котором я открываю альтернативный порт на существующем почтовом сервере и хочу, чтобы все SMTP-сообщения, доставляемые на этот порт, отправлялись в почтовый ящик (Dovecot, через локальную доставку) на том же сервере.
Моя проблема в том, что smtpd разделяет конфигурацию в main.cf, и я не вижу способа запустить вторую копию smtpd без настройки целой отдельной среды postfix. Я ищу более простое решение.
Программа smtp-sink
- этопочтиименно то, что мне нужно. Он записывает каждое сообщение в новый файл, но я бы хотел, чтобы они дополнительно передавались локальной доставкой в Dovecot, где мой почтовый клиент может их удобно просматривать.
Может ли кто-нибудь порекомендовать простой способ сделать это? Я даже приму скрипт perl, который слушает/читает SMTP и пишет LMTP.
решение1
Вы можете переопределить smtpd_recipient_restrictions
вторичный порт (например, порт 9925), чтобы он ПЕРЕНАПРАВЛЯЛ электронную почту на выбранный вами почтовый ящик (например,[email protected]).
Запись 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 [email protected]
При такой настройке каждое письмо, приходящее на этот порт, будет соответствовать шаблону PCRE на /etc/postfix/x.pcre
, поэтому postfix ПЕРЕНАПРАВИТ его на[email protected].
Ваша последняя задача — убедиться, что[email protected]была доставлена через Dovecot LMTP.