在回复/转发中总是返回哪些标头

  • 本文关键字:返回 回复 转发 email smtp
  • 更新时间 :
  • 英文 :


我正在创建一个集成客户服务的网店。每隔几分钟,系统就会将电子邮件检索到数据库中,解析邮件头,并将邮件与客户和订单联系起来。

通过消息From:头,客户线程是相当可靠的。但订单呢?似乎大多数人都使用Reply-To:标头来处理订单。。。

From: <orders@company.com>
To: <person@place.com>
Subject: Company Order #314159
Reply-To: <order-314159@company.com>

但一个混乱的Reply-to:掩盖和丑化了事物,可能会标记垃圾邮件传感器或其他什么。我绝对不想指望Subject:字段,人们总是修改主题,甚至在回复时也是如此。还有其他标题似乎适合这份工作,比如。。。

From: <orders@company.com>
To: <person@place.com>
Subject: Company Order #314159
Message-ID: <314159-2>

In-Reply-To: <314159-1>

但是这些是在对方回复的时候寄回来的吗?是否有任何标头(Reply-To:除外)可以可靠地复制到回复和转发中?

不能完全依赖于保留的头。在回复或转发时,邮件客户端会创建一条新消息;邮件客户端可以完全合法地忽略或更改任何内容(视情况而定)。

您可能可以通过以下方式进行跟踪,但所有方式都容易受到更改(主要是用户,也有原始邮件客户端)。你真的应该用它们来做出最好的猜测。

  1. 一次性回复地址。理论上,如果你愿意,你也可以使用"发件人",但"回复"更能确保用户(及其邮件服务器/客户端)识别出它来自你,并采取适当的行动。我认为垃圾邮件过滤器没有理由关心一次性地址。鉴于大多数垃圾邮件都使用假地址,而且不在乎回复,这并不是垃圾邮件发送者的把戏。这不太可能导致垃圾邮件过滤的大幅增加。在与您的发件人地址相同的域中使用回复也不太可能看起来可疑
  2. 一个独特的主题。是的,它可以很容易地更改,但通常会将现有主题附加到,而不是删除(尤其是如果它显然包含某种参考号)。你可以应用一个正则表达式匹配——也许只是用它来确认你的其他检测方法
  3. 正文中的唯一字符串(可能前面有"请勿删除此行")
  4. 如果支持的话,In-Reply-ToReference标头可能很好。用户将回复复制到一条新的空白消息中并丢弃邮件头的可能性很小
遗憾的是,

Reply-To并不完全可靠。所有回复都应该有References:,它比不容易机器可读的In-Reply-To:更标准化。

您的最佳选择可能是将信封标头设置为唯一标识符,也许可以使用From:Sender:组合,将回复定向到正确的位置,但显示良好。

另见Dan Bernstein的笔记;http://cr.yp.to/immhf.html尤其是http://cr.yp.to/immhf/thread.html

当谈到前锋时,我认为你不能指望任何东西

尽管您已经收到了一些答案,但我们也遇到了类似的情况,我们应该向客户发送电子邮件,并将其读回,并将它们与各种活动联系起来。

在研究过程中,我们发现唯一不会被各种电子邮件客户端(Outook、Yahoo、Gmail等)取代或删除的标题是"XREF"。我们已经对它进行了彻底的测试,自我们首次引入它以来,它一直在工作。

最新更新