模仿票务系统电子邮件到邮件功能

时间:2011-02-26 01:29:19

标签: php email

解析电子邮件内容的最佳方法是什么?例如,我们希望能够解析从第三方发送的电子邮件并将它们放入数据库中。现在我们使用谷歌托管帐户,我们正在考虑使用PHP IMAP功能每隔几分钟提取电子邮件并解析其内容,并将其放入我们的数据库。

想知道这是否有点过分?如果我们将电子邮件发送到专用服务器,是否有办法使用PHP获取和解析它们?

不确定票务系统是如何做到的......他们允许您通过向指定地址发送电子邮件来创建票证。

2 个答案:

答案 0 :(得分:3)

如果您将电子邮件发送到服务器,您实际上可以通过将以下行放在电子邮件的.forward文件中来设置转发文件以将电子邮件通过管道传输到解析脚本服务器上的帐户:

| php createticketfromemail.php

通过这种方式,您无需定期轮询,只要电子邮件到达,它就会通过管道传输到您的脚本。

http://www.softpanorama.org/Mail/pipes_in_dot_forward_file.shtml

修改

解决@miemos在答案中提出的问题。您可以构建转发文件以将电子邮件的副本存储在收件箱中并将其传输到脚本,这样如果脚本失败,您仍然会在某处保留电子邮件的备份副本。

答案 1 :(得分:1)

使用PHP接收和处理邮件的最安全方法是使用POP3或IMAP邮箱。您可以定期轮询邮箱并处理邮件,然后将其删除。

某些系统允许您在邮件到达时将邮件传递给PHP脚本。这不是处理邮件的安全方法,因为如果由于某种原因您的脚本失败,您将永远丢失该邮件。使用邮箱更安全,因为您可以在成功处理邮件后删除邮件。