Postfix - 中繼本機產生的郵件,但接受來自相同網域的 GApp 的郵件

Postfix - 中繼本機產生的郵件,但接受來自相同網域的 GApp 的郵件

我知道禁用所有本地傳遞的方法是從“mydestination”中刪除網域,這將導致所有郵件都透過我設定的任何中繼進行中繼。但我希望 postfix 接受 GApps 的所有郵件,以便本地傳送到 dovecot,但將所有本地產生的郵件轉回 GApps。

例如:我在伺服器上執行網路郵件,使用本地後綴。[電子郵件受保護]發送電子郵件至[電子郵件受保護]。如果 user2 本機存在,則後綴在本機傳遞,但不存在 - 我可以新增一個後備中繼,將郵件傳送到 GApps。但我希望 postfix 始終將這些郵件轉回 GApps(GApps 會將這些郵件向下游發送回 postfix 進行本地投遞),無論本地可用性如何。這樣我就可以擁有一個瀑布模型。

我知道有很多與此相關的問題(沒有一個具體的答案),但基本上我想要的是在 gmail 和本地 dovecot 上為相同的用戶提供相同的收件匣。我找到了一個臨時修復方法,即直接使用GApps SMTP 中繼而不是本地網路郵件,但這對於那些使用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 的傳入郵件,但需要 postfix提交(在連接埠 587 上運作)供傳出 MTA 使用。所以我這樣評論/etc/postfix/master.cf

#submission inet n       -       -       -       -       smtpd

並發表評論郵件傳輸協定郵件傳輸協定但補充說提交/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

我複製了預設的ISPConfig的main.cf/etc/postfix並對我的進行了很多修改/etc/postfix-outgoing/main.cf,但主要的是:

  1. 變更myhostname為與主實例不同。 (否則 postfix 會混淆它們)
  2. 刪除了所有鴿舍特定配置。
  3. 更改數據目錄。
  4. 確保 postfix 不會嘗試本地傳送。 (透過 mydestination、virtual_domains 等)。
  5. 輸入您的relayhost
  6. 將第二個偵聽器新增至 dovecot.confservice auth指向/var/spool/postfix-outgoing/private/auth直接引用原始路徑對我來說不起作用。或者你可以嘗試使用 - 透過 TCP 進行 Dovecot 身份驗證

最後啟用實例:

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

相關內容