Сервер MX в моем домене example.com укажите на мой сервер Postfix. Однако я также настроил учетную запись Google Apps, отвечающую за электронные письма от example.com.
Я хочу, чтобы все электронные письма отправлялись на мой сервер Postfix (это уже сделано настройкой MX в зоне DNS), но хочу, чтобы некоторые пользователи этого домена перенаправлялись на MX aspmx.l.google.com.
Я сделал это с параметром transport_maps. Вот файл / и т. д. / постфикс / транспорт.
test@example.com smtp: [aspmx.l.google.com]
Проблема в, smtpd_reject_unlisted_recipient установлен на да по умолчанию, но postfix проверяет наличие пользователя перед применением транспортной карты. Мой сервер Postfix не знает пользователя тест для этого домена, поэтому он просто отклоняет электронную почту.
Я хочу, чтобы маршрутизация транспорта происходила до проверки существования получателя (в моих текущих настройках только Google SMTP знает о существовании пользователя тест). Это возможно?
Примечание: local_recipient_maps у меня не работает, потому что я использую виртуальный транспорт с dovecot. Итак, таблица получателей - virtual_mailbox_maps.
Почему не выполняется маршрутизация до проверки существования получателя? Разве нет способа? Когда я маршрутизирую электронные письма, я имею в виду: «Текущий Postfix ничего не обрабатывает и просто пересылает электронную почту на другой сервер, который полностью отвечает за конфигурацию».
Нет, postfix работает не так. Проверка существования получателя и маршрутизация электронной почты были двумя разными видами деятельности для postfix. Проверки существования получателя выполнялись, когда прием электронной почты. Процесс, который его выполняет, был smtpd. Маршрутизация электронной почты была выполнена, когда доставка электронной почты. Процесс, который его выполняет, был банально переписывать
В комментарии вы упоминаете, что используете виртуальный агент доставки от postfix для доставки электронной почты. Я скажу вам, что можно добиться отсутствия избыточной информации в конфигурации постфикса. НО вы должны изменить текущую настройку постфикса.
Для достижения вашей цели мы должны переместить все домены в virtual_mailbox_domain
класс к relay_domains
класс. Затем используйте dovecot LDA для доставки электронной почты в нужный почтовый ящик. В классе доменов ретрансляции есть специальный параметр relay_recipient_maps для проверки существования получателя.
Хорошая новость в том, что вы можете использовать relay_recipient_maps
вместе с transport_maps
. Зачем? Поскольку relay_recipient_maps использовался только для проверить существование пользователя. Значение / правая строка в transport_maps игнорировались при проверке существования получателя. Фрагмент из человек postconf.
Дополнительные таблицы поиска со всеми действительными адресами в доменах, которые соответствуют $ relay_domains. Укажите @domain как подстановочный знак для доменов, у которых нет действительного списка получателей, и которые становятся источником обратной рассылки: Postfix принимает спам от несуществующих получателей, а затем наводняет невинных людей недоставленной почтой. Технически таблицы, перечисленные с помощью $ relay_recipient_maps, используются как списки: Postfix должен знать только, найдена ли строка поиска или нет, но он не использует результат поиска таблицы.
Для полноты, вот конфигурация постфикса для этой установки. Кредиты для себокоптер для идея.
#main.cf
# rename virtual_mailbox_domains to relay_domains
relay_domains = mydomain.example.com
# put the parameter value of virtual_mailbox_maps AND transport_maps parameter
relay_recipient_maps = hash:/my/virtual_mailbox_maps, hash:/my/transport_maps
transport_maps = hash:/my/transport_maps
relay_transport = dovecot:
#master.cf
dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/local/libexec/dovecot/dovecot-lda -f ${sender} -d ${recipient}
Имея ту же проблему, для исправления я просто создал виртуальных пользователей в своей базе данных, и это позволило postfix завершить проверку существования получателя и перейти к перенаправлению на другой сервер MX.
Я знаю, что это немного похоже на взлом, лично для меня это работает, поскольку перенаправляемые учетные записи в конечном итоге будут перемещены в тот же MX, и поэтому учетные записи пользователей действительны.