Postfix — ретранслирует локально созданную почту, но принимает входящую почту из GApps для того же домена

Postfix — ретранслирует локально созданную почту, но принимает входящую почту из GApps для того же домена

Я знаю, что способ отключить всю локальную доставку — удалить домен из "mydestination", что приведет к тому, что вся почта будет ретранслироваться через любой ретранслятор, который я настрою. Но я хочу, чтобы postfix принимал всю почту из GApps для локальной доставки в dovecot, но ретранслировал всю локально сгенерированную почту обратно в GApps.

Пример: У меня на сервере запущена веб-почта, использующая локальный Postfix.[email protected]отправляет электронное письмо[email protected]. Если user2 существует локально, postfix доставляет локально, не существует - я мог бы добавить резервный ретранслятор, который отправлял бы эту почту в GApps. Но я хочу, чтобы postfix всегда ретранслировал эту почту обратно в GApps (который будет отправлять эту почту вниз по течению обратно в postfix для локальной доставки) независимо от локальной доступности. Так что у меня может быть своего рода модель водопада.

Я знаю, что есть много связанных вопросов по этому поводу (ни один из них не отвечает конкретно на этот), но в основном я хочу иметь своего рода идентичные почтовые ящики для тех же пользователей как на gmail, так и на локальном dovecot. Я нашел временное решение, напрямую используя GApps SMTP Relay вместо локального для веб-почты, но это ничего не решает для тех, кто подключается с помощью IMAP (в конечном итоге пришлось бы предоставить каждому пользователю доступ к GApps SMTP).

решение1

Наконец-то моя настройка заработала с несколькими экземплярами postfixмасегалоэхупоминалось. Я пытался использовать exim4, но apt-get install exim4 автоматически удалил postfix, даже не спросив! В любом случае, вот как я заставил это работать:

#Adds some lines to main.cf enabling multiple instance
postmulti -e init

#Creates a new instance at the directory /etc/postfix-outgoing
postmulti -I postfix-outgoing -G mta -e create

Для моего варианта использования я хотелпорт25ипорт465для использования при получении входящей почты из Gmail, но необходим постфиксподчинение(работает на порту 587) для исходящего использования MTA. Поэтому я прокомментировал это так в/etc/postfix/master.cf

#submission inet n       -       -       -       -       smtpd

и прокомментировалSMTP-протоколиsmtpsно добавилподчинениев /etc/postfix-outgoing/master.cf, чтобы получить что-то вроде этого

submission inet n       -       -       -       -       smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_reject_unlisted_recipient=no

Я скопировал файл main.cf ISPConfig по умолчанию /etc/postfixи внес в него множество изменений /etc/postfix-outgoing/main.cf, но основные из них следующие:

  1. Изменено так myhostname, чтобы оно отличалось от основного экземпляра. (иначе постфикс путает их)
  2. Удалены все конфигурации, специфичные для Dovecot.
  3. Изменить каталог данных.
  4. Убедитесь, что postfix не пытается осуществлять локальную доставку (через mydestination, virtual_domains и т. д.).
  5. Введите ваш relayhost.
  6. Добавление второго слушателя в dovecot.conf, service authуказывающего на /var/spool/postfix-outgoing/private/authпрямую ссылку на исходный путь, у меня не сработало. Или вы можете попробовать использовать - Аутентификация Dovecot через TCP.

Наконец включите экземпляр:

postmulti -i postfix-outgoing -x postconf -e \
  "master_service_disable ="
postmulti -i postfix-outgoing -e enable
postmulti -i postfix-outgoing -p start

tail -f /var/log/mail.logи посмотреть, где что-то пошло не так.

Ссылка:http://www.postfix.org/MULTI_INSTANCE_README.html

Связанный контент