Postfix 不會接受為虛擬域上的其他使用者送出的電子郵件
我的雇主給了我一個電子郵件地址,
me@myemployersdomain.com
. 我雇主的外發郵件伺服器只允許來自其網路內部的連接(就像堅持讓您通過他們連接以使用他們的 smtp 伺服器的 ISP)。因此,當我去咖啡館吃午飯時,我的手機收到了老闆的電子郵件,直到我回到辦公室才能回复。此外,當我在外地旅行或工作時,我無法回復工作電子郵件。我不允許重新配置主郵件伺服器,但我有一個可以控制的小型獨立 Postfix 伺服器。我在那裡設置了許多虛擬域,我添加
myemployersdomain.com
了一個額外的虛擬域和me@myemployersdomain.com
一個虛擬使用者。這行得通,我可以通過該伺服器將外發郵件發送到世界任何地方,除了 myemployersdomain.com 上的其他使用者(這是我真正想要的)。當我嘗試發送到 otheruser@myemployersdomain.com 我得到
NOQUEUE:拒絕:RCPT from… 550 5.1.1 … 收件人地址被拒絕:虛擬郵箱表中的使用者未知
Postfix 伺服器認為它控制了所有 myemployersdomain.com,如果我沒有為該域上的收件人設置虛擬使用者,那麼它就不允許。我可以通過在虛擬文件中設置一個包羅萬象的別名來消除錯誤
@myemployersdomain.com me@myemployersdomain.com
但當然,我發送的所有電子郵件都會直接返回給我!
我嘗試將傳輸文件設置為通過 gmail 中繼 myemployersdomain.com 的所有郵件,如下所示:
example.com : myemployersdomain.com smtp:[smtp.gmail.com]:587
但這沒有什麼區別。(對於其他(外部)域上的收件人地址,中繼按預期工作,但對於這個虛擬域,Postfix 不允許您達到這一點 - 5.1.1 錯誤首先出現。)
是否可以將 Postfix 配置為將發往本地定義的虛擬域的郵件發送到廣闊的 Internet 並讓 DNS 對其進行排序?
如果您將輔助電腦設置為備份伺服器,則需要進行一些設置。
relay_domains= myemployersdomain.com
您還將
transport_maps
像這樣使用您的:
myemployersdomain.com relay:[the.actual.server]
然後你會(正如 Falcon 所說)需要
relay_recipient_maps
萬用字元條目,或者你和你的老闆的條目。然後我會設置 TLS 加密的 SASL 授權,並且只允許經過身份驗證的使用者發送。
smtpd_relay_restrictions = permit_sasl_authenticated, reject
`