接受并解析电子邮件中的信息

时间:2013-08-07 22:01:17

标签: parsing email php

我想要完成的是让用户能够将电子邮件发送到指定的电子邮件地址。然后,一旦获得该电子邮件,运行一个脚本,该脚本解析电子邮件的正文部分,并使用电子邮件中提供的信息执行各种任务 (来自电子邮件的数据将以xml类型格式构建)。

在我看来,这似乎是一项简单的任务,但我并不熟悉电子邮件的内部工作原理。我的问题是:

  1. 一旦从发件人那里获得了一封电子邮件以便处理它,我将如何知道?
  2. 如何使用php获取电子邮件中的文字?

2 个答案:

答案 0 :(得分:2)

如果您的邮件服务器上运行了PHP,则可以将传入邮件管道传输到PHP脚本。然后,您的PHP脚本可以在到达时解析每个传入消息的正文。有关详细信息,请参阅http://harrybailey.com/2009/02/send-or-pipe-an-email-to-a-php-script/

答案 1 :(得分:1)

我同意其他回复,对php应用程序的管道应该是你的第一个选择(如果邮件服务器和php是相同的)

否则,如果您有外部邮件服务器,则需要定期轮询电子邮件地址并检查新电子邮件。

从电子邮件中提取纯文本正文并不是一件容易的事,但有时候加入附件会很痛苦。

您需要使用cronjob定期触发脚本

要从服务器获取电子邮件并解析它,我已经使用了php IMAP功能 http://php.net/manual/en/book.imap.php

您还可以使用MandrillApp等第三方服务,它将接收消息,将其分成几部分,并通过webhook调用您的应用程序。

http://help.mandrill.com/entries/21699367-Inbound-Email-Processing-Overview