Postfix
如何通過 Postfix 將原始收件人傳遞給 Procmail
有沒有辦法在procmail中而不是通過標題來辨識電子郵件的原始收件人?
收件人可以在
Bcc
也可以在To
/之一中Cc
,我正在尋找如何獲取收件人的電子郵件地址。我發現如果
procmail
是作為郵箱命令,那麼我可以ORIGINAL_RECIPIENT
按照文件進入環境,但我不明白。
就像老式的郵件信件一樣,電子郵件有兩組不同的地址資訊:信封地址(如印在信封外面的地址),SMTP 伺服器使用這些地址將電子郵件路由和傳遞給預期的收件人,以及作為郵件消息的一部分的消息頭。
SMTP 信封包含
RCPT TO:
SMTP 事務中電子郵件消息的目的地等資訊。消息頭(在
DATA
SMTP 消息的有效負載中)大多僅由使用者在其郵件客戶端/網路郵件中讀取和解釋,就像在物理信件開頭附加到稱呼的日期和地址一樣。這些不用於將電子郵件消息1路由到其目的地。標To:
頭是那些(不受信任的)消息標頭的一部分,甚至可以與信封上的地址完全不同。與郵局不同,SMTP 通常在將郵件交給使用者之前會丟棄大部分信封。
據我所知,Postfix 將 SMTP 信封收件人地址添加到郵件標頭作為
X-Original-To:
標頭。 是它在 SMTP 對話框中X-Original-To:
收到的地址。RCPT TO:
它通常還會添加第二個標頭,即
Delivered-To:
標頭,其中包含 Mailbox Postfix 實際將郵件傳遞到的電子郵件地址。這可能會有所不同,X-Original-To:
因為可能會發生多個級別的別名、虛擬地址和其他地址擴展。(見:http ://www.postfix.org/ADDRESS_REWRITING_README.html )您應該能夠為您的 procmail 配方依賴這些標頭中的任何一個
腳註:
- (
CC:
和類似的BCC:
)頭是消息頭,通常應該在發送消息時由 MUA 解釋,並轉換為額外的RCPT TO:
信封地址,它們通常不 被 SMTP 伺服器處理2 。- 請注意,Postfix 確實以某種方式處理 Bcc 和其他一些消息頭,因為預設情況下,清理將刪除 MUA 不應包含在消息中的消息頭:Bcc、Content-Length、Resent-Bcc、Return-小路。