回复后是否保留自定义邮件头?

时间:2012-03-03 11:07:37

标签: php email email-headers custom-headers

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

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

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

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

编辑:另外,我很想知道如何在回复中删除引用的邮件?

2 个答案:

答案 0 :(得分:4)

您不能依赖邮件标题保留 - 这取决于各个邮件客户端决定要包含哪些内容。

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

答案 1 :(得分:0)

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

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

因此,我认为电子邮件已经具有此功能,您不必担心创建自定义邮件头条目以及行为异常的邮件客户端。

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

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