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

Демон SMTP на альтернативном порту для захвата всех сообщений в один почтовый ящик Dovecot

Здесь есть несколько ответов о том, как настроить 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.