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

neo*_*kio 7 email smtp

我正在建立一个集成了客户服务的网店.每隔几分钟,系统就会检索数据库中的电子邮件,解析标题并将消息与客户和订单相关联.

通过消息From:头,客户线程相当可靠.但订单怎么样?似乎大多数人使用Reply-To:标题来处理线程...

From: <orders@company.com>
To: <person@place.com>
Subject: Company Order #314159
Reply-To: <order-314159@company.com>
Run Code Online (Sandbox Code Playgroud)

但是一个混乱的Reply-to:东西掩盖并丑化了东西,并可能标记垃圾邮件传感器或其他东西.我绝对不想指望这个Subject:领域,人们一直在修改主题,即使在回复时也是如此.还有其他标题似乎适合这项工作,比如......

From: <orders@company.com>
To: <person@place.com>
Subject: Company Order #314159
Message-ID: <314159-2>
Run Code Online (Sandbox Code Playgroud)

... 要么 ...

In-Reply-To: <314159-1>
Run Code Online (Sandbox Code Playgroud)

但当这个人回复时,这些是否被送回?是否有任何标题(除了Reply-To:)可靠地复制到回复和转发中?

Sim*_*yer 11

您不能完全依赖保留的标头.回复或转发时,邮件客户端会创建新邮件; 邮件客户端可以合理地忽略或更改任何内容,视情况而定.

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

  1. 一个一次性的回复地址.从理论上讲,如果需要,您也可以使用"发件人"执行此操作,但回复更好地确保用户(及其邮件服务器/客户端)从您那里识别出来并采取适当的行动.我认为没有理由为什么垃圾邮件过滤器会关心一次性地址.看起来大多数垃圾邮件无论如何都使用虚假地址并且不关心回复,它实际上不是垃圾邮件制造者的伎俩.它不太可能导致垃圾邮件过滤的大幅增加.使用与您的发件人地址相同的域的回复也不太可能看起来可疑.
  2. 一个独特的主题.是的,它可以轻松更改,但通常会附加现有主题,而不是删除(特别是如果它显然包含某种参考编号).您可以应用正则表达式匹配 - 可能仅将其用作其他检测方法的确认.
  3. 身体中的一个独特的字符串(可能前面有"不要删除此行")
  4. 支持时,In-Reply-ToReference标题可能很好.用户很可能会将其回复复制到新的空白邮件中,并且无论如何都会删除标题.