user1482800 Asked: 2021-01-22 21:09:00 +0800 CST2021-01-22 21:09:00 +0800 CST 2021-01-22 21:09:00 +0800 CST 如何通过 Postfix 将原始收件人传递给 Procmail 772 有没有办法在procmail中而不是通过标题来识别电子邮件的原始收件人? 收件人可以在Bcc也可以在To/之一中Cc,我正在寻找如何获取收件人的电子邮件地址。 我发现如果procmail是作为邮箱命令,那么我可以ORIGINAL_RECIPIENT按照文档进入环境,但我不明白。 postfix procmail 1 个回答 Voted Best Answer Bob 2021-01-23T02:37:17+08:002021-01-23T02:37:17+08:00 就像老式的邮件信件一样,电子邮件有两组不同的地址信息:信封地址(如印在信封外面的地址),SMTP 服务器使用这些地址将电子邮件路由和传递给预期的收件人,以及作为邮件消息的一部分的消息头。 SMTP 信封包含RCPT TO:SMTP 事务中电子邮件消息的目的地等信息。 消息头(在DATASMTP 消息的有效负载中)大多仅由用户在其邮件客户端/网络邮件中读取和解释,就像在物理信件开头附加到称呼的日期和地址一样。这些不用于将电子邮件消息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-小路。
就像老式的邮件信件一样,电子邮件有两组不同的地址信息:信封地址(如印在信封外面的地址),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-小路。