Postfix 不會接受虛擬網域上其他使用者提交的電子郵件

Postfix 不會接受虛擬網域上其他使用者提交的電子郵件

我的雇主給了我一個電子郵件地址,[email protected]。我雇主的外寄郵件伺服器只允許來自其網路內部的連線(就像 ISP 堅持要求您透過它們進行連線才能使用他們的 smtp 伺服器)。因此,當我去咖啡館吃午飯時,我的手機上收到了老闆發來的電子郵件,我無法回复,直到我回到辦公室。此外,當我出差或在外地工作時,我無法回覆工作電子郵件。

我不允許重新配置主郵件伺服器,但我有一個可以控制的小型獨立 Postfix 伺服器。我在那裡設定了許多虛擬網域,並新增myemployersdomain.com為附加虛擬網域和[email protected]虛擬使用者。這有效,我可以透過該伺服器將外寄郵件發送到世界任何地方,除了 myemployersdomain.com 上的其他用戶(這就是我真正想要的)。

當我嘗試發送至[電子郵件受保護]我明白了

NOQUEUE:拒絕:RCPT 來自... 550 5.1.1 ... 收件人地址被拒絕:虛擬郵箱表中的使用者未知

Postfix 伺服器認為它控制了整個 myemployersdomain.com,如果我沒有為此網域上的收件者設定虛擬用戶,那麼它就不允許這樣做。我可以透過在虛擬檔案中設定一個包羅萬象的別名來消除錯誤

@myemployersdomain.com [email protected]

當然,我發送的所有電子郵件都會直接回傳給我!

我嘗試將傳輸檔案設定為透過 gmail 中繼 myemployersdomain.com 的所有郵件,如下所示:

example.com  :
myemployersdomain.com smtp:[smtp.gmail.com]:587

但這沒有什麼區別。 (對於其他(外部)網域上的收件者位址,中繼按預期工作,但對於此虛擬網域,Postfix 不允許您達到此目的 - 首先出現 5.1.1 錯誤。)

是否可以設定 Postfix 將發送到本地定義的虛擬網域的郵件傳送到廣闊的網際網路中並讓 DNS 對其進行排序?

答案1

如果您將輔助電腦設定為備份伺服器,則需要進行一些設定。

relay_domains= myemployersdomain.com

您還將transport_maps像這樣使用您的:

myemployersdomain.com relay:[the.actual.server]

然後你會(正如法爾肯所說)需要relay_recipient_maps一個通配符條目,或一個適合你和你的老闆的條目。

然後我設定 TLS 加密 SASL 授權,並僅允許經過驗證的使用者發送。

smtpd_relay_restrictions = permit_sasl_authenticated, reject

`

答案2

電子郵件地址的網域部分的全部意義在於,它指示哪一組 SMTP 伺服器負責整個網域的郵件傳遞。換句話說:你不能像這樣細分域。

然而,聽起來你真正想做的事情(除了規避政策之外,但這從理論上來說是一個有趣的問題,所以我無論如何都會回答它)只是中繼郵件。

在這種情況下,您應該讓它轉發它看到的所有郵件,只要用戶經過身份驗證。我相信你可以將其設定為根本沒有本地域。畢竟,我假設您實際上並不希望中繼 MTA 接受郵件傳遞,因此有兩個具有相同地址的收件匣。那隻會令人困惑。

如果您告訴它中繼所有內容,它會將其發送到目標網域的 MX 記錄中的任何內容,我認為這就是您想要的。

最好透過不設定本地域來實現這一點。例如,這種設定對於用於病毒和垃圾郵件過濾的中繼 MTA 很常見。

我確實記得有一個名為 的功能relay_recipient_maps,但我認為在這個用例中這不是正確的方法。

相關內容