是否可以从php中转发的电子邮件中检索原始标头

时间:2012-03-26 13:09:53

标签: php parsing email history

我正在尝试解析具有以下生命周期的电子邮件(虚拟示例):

两天前

  

来自:a@a.com

     

to:b@b.com

     

Subjet:你好!

昨天

  

来自:b@b.com

     

to:a@a.com

     

Subjet:回复:你好!

今天

邮件将转发至c@c.com。 我可以访问此邮箱,我可以通过php和imap函数检索电子邮件。我现在能够解析邮件,并获得以下信息:

  

来自:a@a.com

     

to:c@c.com

     

Fwd:Re:你好!

无论如何,我可以获得该电子邮件的历史记录吗?我希望能够显示如下内容:

邮件历史:

  • 从a@a.com到c@c.com - Fwd:Re:您好! - 今天
  • 从b@b.com到a@a.com - 回复:您好! - 昨天
  • 从a@a.com到b@b.com - 您好! - 两天前

编辑更准确,我真正需要做的唯一事情就是在邮件发送到c@c.com之前发生的事情(在我的例子中) ,从b@b.com发送到c@c.com)。我真的不需要了解之前发生的事情。

我在互联网上搜索了很长时间,但由于我的英语不是很流利,我可能没有使用最好的查询......

感谢您的帮助!

1 个答案:

答案 0 :(得分:5)

除非信息包含在邮件本身中,否则为。

您可以查看原始邮件,包括标题和原始邮件,以查看邮件中的内容。如果它不在那里,并且您无法访问其首先经历的其他帐户,那么您将无法获取该消息的历史记录。

邮件可以包含以下标题:

Message-Id: <6F995D33-8CF3-4F49-AA6A-9D59B4779CCE@example.com>
In-Reply-To: <795EDCA1-7FD4-429C-88E9-26A85C442A5B@example.com>
References: <b2hxc23ycjm05kradmfswofk.1332762974483@email.example.com> <D37FF604-43A2-42F8-AD11-2F2012D2E8B7@example.com> <795EDCA1-7FD4-429C-88E9-26A85C442A5B@example.com>

只有在您可以访问这些标头中引用的原始邮件时,这才真正有用。如果你得到的只是链中的最后一封邮件,那就没用了。

您最好的选择是在邮件中查找引用的内容,例如:

> On 2012/03/24, b@b.com wrote:

> ...

>> On 2012/03/23, a@a.com wrote:

>> ...

这些行没有标准格式,每个电子邮件程序都插入自己的版本,有时是用户自定义的,有时是本地化的。所以他们很难可靠地解析出来。