Мы находимся в процессе переключения нашей электронной почты с локального сервера на приложения Google. У нас много пользователей, и я хотел бы иметь возможность переключать их по одному, чтобы меня не засыпали звонками в службу технической поддержки.
На отдельном сервере я установил postfix и добавил в main.cf такую строку:
relayhost = [1.2.3.4]
(Где 1.2.3.4 - наш внутренний почтовый сервер).
Это нормально работает, вся почта, отправляемая через postfix, отправляется на внутренний почтовый сервер, как и должно.
Однако я также хочу, чтобы эта же почта отправлялась в приложения Google. Я добавил эту строку в main.cf:
relayhost = [aspmx.l.google.com]
Но вместо отправки на оба сервера Postfix отправляет только на последний из перечисленных.
Есть ли простое решение? Я не против использования другой программы SMTP или чего-то еще, но я не хочу создавать сопоставления для каждого пользователя, который у нас есть.
Откажитесь от постфикса и используйте exim. Создайте два маршрутизатора и такой транспорт
begin routers
OurServer:
driver = manualroute
route_data = 1.2.3.4
transport = OutboundSMTP
unseen = true
TheirServer:
driver = manualroute
route_data = aspmx.l.google.com
transport = OutboundSMTP
begin transports
OutboundSMTP:
driver = smtp
unseen = true
вызывает продолжение обработки после первого маршрутизатора
совершенно быстрый, неизученный ответ по памяти, но я думаю, что procmail (он все еще существует?) может делать такие вещи.
это нормально. второй будет иметь приоритет над первым. конфигурация постфикса - var = value. второе определение переменной переопределит первое, а не обновит добавление нового значения. с постфиксом это сделать нелегко. Предлагаю два решения:
Решение 1: установите на ящик две службы postfix. один настраивает его на порт 2526 и настраивает с помощью relayhost = yourhost, другой - на порт 2527 с relayhost = google. используйте простую программу на основе событий для прослушивания порта 25 и перенаправления трафика на оба экземпляра постфикса (вы можете найти что-то уже написанное, возможно, вы можете использовать relayd, если вы используете BSD unix). есть также плагин TEE где-то в iptables devel для копирования пакетов, но я не знаком с ним. мне не очень нравится это решение
Решение 2: на вашем relayhost настройте store & forward. это сложнее (конфигурация), чем первый, но поскольку ваша процедура миграции основана на пользователях ...
Я однажды использовал этот механизм, и он, похоже, сработал. однако ... я не уверен, будет ли Google принимать электронные письма для домена, если вы не установили MX для серверов Google, поэтому это может быть бесполезно. Вы должны это проверить.