首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >return-path、reply-to和from之间的行为差异是什么?

return-path、reply-to和from之间的行为差异是什么?
EN

Stack Overflow用户
提问于 2009-08-05 20:24:11
回答 4查看 236.6K关注 0票数 171

在我们的邮件应用程序上,我们使用以下标题发送电子邮件:

代码语言:javascript
复制
FROM: marketing@customer.com
TO: subscriber1@domain1.com
Return-PATH: bouncemgmt@ourcompany.com

我们面临的问题是,一些电子邮件服务器将立即退回邮件,并使用发件人或反向路径(marketing@customer.com)代替我们的退回管理服务器。我们想知道,如果我们能够捕捉到所有的退回信息,我们是否在头部修改reply-to,使其与return-path相同。

还有没有其他的想法值得欢迎?

我们使用以下文档作为参考:VERP RFC Bounce Messages

SMTP Log Parsing to get Bounces

编辑1:更多一些信息,看看我们是否能解决这个问题。

我们想知道转发邮件的电子邮件服务器在什么时候会选择使用回复路径还是返回路径。我们注意到,当中继消息的第一个smtp服务器被拒绝时,它会将消息发送到回复目标,但当它发生在一跳之后时,它会将消息发送到返回路径。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-08-07 21:45:43

让我们从一个简单的例子开始。假设您有一个电子邮件列表,它将发送以下RFC2822内容。

From:coolstuff@mymailinglist.com To:you@yourcompany.com Subject:超级简单的电子邮件回复地址:coolstuff-threadId=123@mymailinglist.com这是一个非常简单的正文。

现在,假设您要从实现VERP (或其他使用不同返回路径的退回跟踪机制)的邮件列表中发送它。假设它的返回路径为coolstuff-you=yourcompany.com@mymailinglist.com。SMTP会话可能如下所示:

{S}220 workstation1 Microsoft ESMTP MAIL Service {C}HELO workstation1 {S}250 workstation1 Hello 127.0.0.1 {C}邮件发件人:coolstuff-you=yourcompany.com@mymailinglist.com {S}250 2.1.0 me@mycompany.com....Sender OK {C}RCPT TO:you@yourcompany.com {S}250 2.1.5 you@yourcompany.com {C}DATA {S}354开始邮件输入;结束于。{C}发件人:coolstuff@mymailinglist.com收件人:you@yourcompany.com主题:超级简单的电子邮件回复地址:coolstuff-threadId=123@mymailinglist.com这是一个非常简单的正文。。{S}250排队等待投递的邮件{C}退出{S}221服务关闭传输通道

其中,{C}和{S}分别表示客户端和服务器命令。

收件人的邮件将如下所示:

回复路径: coolstuff-you=yourcompany.com@mymailinglist.com

coolstuff@mymailinglist.com To:you@yourcompany.com Subject:超级简单的电子邮件回复地址:coolstuff-threadId=123@mymailinglist.com这是一个非常简单的正文。

现在,让我们来描述一下不同的“FROM”。

  1. 返回路径(有时称为反向路径、信封发件人或信封发件人-所有这些术语都可以互换使用)是MAIL FROM命令中的SMTP会话中使用的值。如您所见,这不需要与在消息头中找到的值相同。只有收件人的邮件服务器才会在电子邮件的顶部添加Return-Path头。这将记录SMTP会话期间的实际返回路径发送方。如果邮件中已存在Return-Path标头,则该标头将被删除,并由收件人的邮件服务器替换。

SMTP会话期间发生的所有退回都应返回到返回路径地址。一些服务器可能会接受所有电子邮件,然后在本地对其进行排队,直到有空闲线程将其发送到收件人的邮箱。如果接收者不存在,它应该把它弹回记录的Return-Path值。

请注意,并非所有邮件服务器都遵守此规则;某些邮件服务器会将其退回到发件人地址。

  1. FROM地址是在FROM标头中找到的值。这应该是消息的发送者。这就是您在大多数邮件客户端中看到的“发件人”。如果电子邮件没有Reply-To标头,则所有人工(邮件客户端)回复都应返回到FROM地址。
  2. 回复标头由发件人(或发件人的软件)添加。这也是所有人类回复都应该处理的地方。基本上,当用户单击“回复”时,回复的值应该是用作新编写的电子邮件的收件人的值。Reply-To值不应由任何服务器使用。它仅供客户端(MUA)使用。

但是,正如您可以看出的那样,并非所有邮件服务器都遵守RFC标准或建议。

希望这能帮你理清头绪。但是,如果我遗漏了什么,请让我知道,我会尝试回答。

票数 269
EN

Stack Overflow用户

发布于 2011-02-12 18:46:55

考虑Return-PathReply-To的另一种方式是将其与蜗牛邮件进行比较。

当您在邮件中发送信封时,您需要指定一个返回地址。如果收件人不存在或拒绝您的邮件,邮局局长会将信封退回到回信地址。对于电子邮件,返回地址为Return-Path

在信封内可以是一封信,并且在信内它可以指示收件人“将通信发送到示例地址”。对于电子邮件,示例地址为Reply-To

本质上,邮资返回地址相当于SMTP的Return-Path报头,而SMTP的Reply-To报头类似于信件中包含的回复指令。

票数 161
EN

Stack Overflow用户

发布于 2017-04-20 01:53:11

对于那些来到这里的人来说,因为问题的标题:

我在webforms中使用Reply-To:地址。当有人填写表单时,网页会自动向页面所有者发送一封电子邮件。From:是自动邮件发送者的地址,所以它的所有者知道它来自webform。但Reply-To:地址是用户在表单中填写的地址,因此所有者只需点击回复即可联系他们。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1235534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档