【问题标题】:Are custom mail headers preserved after reply?回复后是否保留自定义邮件标题?
【发布时间】:2012-03-03 11:07:36
【问题描述】:

我目前正在尝试设计一个允许用户向其他用户发送电子邮件的 PHP 网络应用程序。然后收件人可以回复电子邮件,并且消息将在 web 应用程序中更新。

现在要跟踪每个单独的用户消息,我想在电子邮件中添加一个自定义标题(即会话 ID)。当收件人在其电子邮件客户端中回复电子邮件时,是否会保留自定义邮件标头(即会话 ID)?

每分钟都会执行一个 cron 作业,打开一个 POP3 流到 Web 服务器以检索新电子邮件(用户可能使用他们的邮件客户端发送的回复)以更新我的数据库。

我不确定这是否是设计此类应用的好方法。有什么建议吗?

编辑:另外,我肯定想知道如何去除回复中引用的消息?

【问题讨论】:

    标签: php email email-headers custom-headers


    【解决方案1】:

    您不能依赖保留邮件标头 - 很大程度上取决于各个邮件客户端来决定包含哪些内容。

    我通常会将对话 ID 放在主题的 [] 括号内,这样可以很容易地用正则表达式解析出来。

    【讨论】:

    • 您也可以将ID放在消息正文中。当然,它可以更改/删除(除非您使用包含 id 签名或仅嵌入加密 id),但这取决于您的通信规则。可能要求用户不要删除主题或保留原始消息作为回复...这些想法可能适用于您的解决方案。
    【解决方案2】:

    每封邮件已经包含 Message-ID 字段,邮件客户端使用该字段来创建 In-Reply-To 字段的内容。

    标准之后的通常方法不是依靠用户的邮件客户端正确设置 in-reply-to 字段吗?据我所知,所有电子邮件客户端都正确使用它。 (即使根据this thread Outlook 可能偶尔会出现错误?)

    所以我认为,电子邮件已经具有此功能,您不必担心创建自定义邮件标题条目和无法预测的邮件客户端行为。

    编辑:我记得一位朋友告诉我他对有多少人从主题字段的 [ ] 括号中删除甚至编辑这些标签感到沮丧。此外,这似乎是一个非常肮脏的解决方法,您的所有软件都需要处理它而不反对用户更改它的能力=>实际上是不可能的。

    编辑:我认为很难可靠地删除回复中引用的消息,因为每个邮件客户端处理它的方式不同。

    【讨论】:

      猜你喜欢
      • 2012-09-04
      • 1970-01-01
      • 1970-01-01
      • 2012-03-24
      • 2011-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-09
      相关资源
      最近更新 更多