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

Как настроить postfix для ретрансляции * всего * в macOS

Мне нужно провести много тестов локальной электронной почты (в macOS 10.14), поэтому для большинства задач я использую поддельный SMTP-сервер на порту 2500, однако мне также нужно перехватывать сообщения, отправленные напрямую через локальный sendmail бинарный, а это на самом деле означает использование настоящего почтового сервера, который может передавать их на мой поддельный почтовый сервер. Я пытаюсь использовать для этого postfix, но это действительно не очень хорошо. Моя цель - сделать так, чтобы он ретранслировал все сообщения для всех пользователей во всех доменах без фильтрации, шифрования или аутентификации. Я не хочу, чтобы он вообще обращал внимание на локальные учетные записи пользователей, и это, кажется, требует отключения локального агента доставки постфикса, и я не нашел, как это сделать.

Моя конфигурация в основном сводится к следующему:

local_transport = local:$myhostname
mydestination = $myhostname, localhost.$mydomain, localhost
local_recipient_maps =
relayhost = localhost:2500
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/local_passwd
smtp_use_tls = no
smtp_tls_security_level = none
compatibility_level = 2
fallback_transport = localhost:2500

Моему поддельному почтовому серверу требуется авторизация, хотя он ничего не проверяет, и любое имя пользователя или пароль будут работать, поэтому в нем есть фиктивная запись. local_passwd файл.

Просмотр журналов в macOS крайне болезненен; лучший подход, который я нашел до сих пор:

sudo log stream --predicate  '(process == "cleanup") || (process == "pickup") || (process == "qmgr") || (process == "error")' --info

Когда я отправляю ему сообщения напрямую с помощью sendmail, я вижу, что он с радостью принимает сообщения в локальные учетные записи, но не передает их. Он также отклоняет сообщения, отправленные на несуществующие учетные записи, например user@example.com что я хочу принять и передать.

Сообщения попадают в почтовый ящик, куда я могу добраться, если запустил mail.

Что я пропустил?