Итак, я на самом деле загрузил исходный код последней версии Postfix 3.7.x и просмотрел его в поисках ответа. Вскоре я обнаружил, что для появления сообщения об ошибке «почта для X возвращается к себе» должно быть выполнено хотя бы одно из следующих двух условий:
- порт назначения — 25, а адрес назначения — в inet_interfaces или proxy_interfaces
- порт назначения — 25, а имя хоста назначения, отправленное в ответе EHLO, — это собственное имя хоста Postfix, а пункт назначения поддерживает ESMTP.
Мне лень самому патчить исходники, поэтому я выбрал решение добавить в конфиг сервера на 2525 следующие строчки:
мой пункт назначения = мой домен.com, локальный хост
local_transport = реле: 127.0.0.1:25
инет_интерфейсы =
а на сервере в 25:
имя хоста = mail.mydomain.com
мой пункт назначения = мой домен.com, локальный хост
И теперь это работает как шарм. Я также добавил запись MX для mail.mydomain.com, указывающую на mydomain.com на всякий случай.
Редактировать (2022-03-27): Итак, моя установка сломалась через две недели, и Postfix начал выдавать следующую ошибку: фатальный: /etc/postfix/master.cf: строка X: действительный IP-адрес не найден: 2525
. Я применил следующее исправление к конфигурации сервера 2525, и он снова работает.
local_transport = реле: mydomain.com: 25
инет_интерфейсы = 127.0.0.1
Редактировать (2022-04-02): Он снова сломался, и я решил просто собрать Postfix из исходников и пропатчить то, что мне нужно. Я следовал за гидом в https://wiki.debian.org/BuildingTutorial (вам нужно будет следовать соответствующему руководству для вашего собственного дистрибутива, если вы не используете Debian) и изменили значение макроса препроцессора SMTP_MISC_FLAG_LOOP_DETECT
в источник/smtp/smtp.h
на 0. Я также изменил настройки всех своих серверов Postfix обратно на исходные, разумные значения.