Я знаю, что способ отключить всю локальную доставку - это удалить домен из "mydestination", что приведет к тому, что вся почта будет ретранслироваться через любой настроенный мной ретранслятор. Но я хочу, чтобы postfix принимал всю почту из GApps для локальной доставки в dovecot, но ретранслировал всю локально сгенерированную почту обратно в GApps.
Пример: у меня на сервере запущена веб-почта, использующая локальный постфикс. user1@example.com отправляет письмо на адрес user2@example.com. Если user2 существует локально, postfix доставляет локально, а не существует - я мог бы добавить резервный ретранслятор, который отправил бы эту почту в GApps. Но я хочу, чтобы postfix всегда ретранслировал эту почту обратно в GApps (который будет отправлять эти письма вниз по потоку обратно в postfix для локальной доставки) независимо от локальной доступности. Чтобы у меня получилась модель водопада.
Я знаю, что есть много связанных с этим вопросов (ни один из ответов не является конкретно этим), но в основном я хочу иметь своего рода идентичные почтовые ящики для одних и тех же пользователей как в Gmail, так и в локальной голубятне. Я нашел временное исправление, напрямую используя SMTP Relay GApps вместо локального для веб-почты, но это ничего не решает для тех, кто подключается по IMAP (в конечном итоге придется предоставить каждому пользователю доступ к SMTP GApps).
Наконец-то я получил настройку для работы с несколькими экземплярами postfix Masegaloeh упомянул. Я пытался использовать 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
, но основные из них:
myhostname
отличаться от основного экземпляра. (иначе postfix путает их)relayhost
.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
и посмотреть, где что-то пошло не так.