解析用PHP发送到地址的电子邮件?

时间:2015-03-11 23:06:57

标签: php email parsing

我多年来一直希望建立一个漂亮的小PHP库,它可以允许发送到预定义电子邮件地址的电子邮件然后用PHP解析并保存到MySQL数据库中。

许多支持服务单和服务台都具有此功能。您可以发送电子邮件到一个地址,并根据它来自的电子邮件地址和内容,它将为用户创建支持服务单。此外,回复电子邮件还会从发送的电子邮件中添加对系统的回复。

这整个概念一直让我着迷,有一次我做了足够的研究,完全知道如何去做。现在已经好几年了,我不确定实现这一目标的最佳途径,我现在正在寻找有关如何实现这一目标的信息。

我想构建某种SugarCRM插件,使用此功能可以将客户端的电子邮件分配给我的CRM中的帐户和联系人记录。

我今晚的初步搜索已在此处找到此项目PHP Mime Mail Parser https://code.google.com/p/php-mime-mail-parser/ 它声明:"您需要先将电子邮件下载到文件中,然后将其传递给MimeMailParser。"因此,找到一个程序或方法也可能有帮助...将电子邮件保存到我可以使用PHP访问的文件中,然后删除它们。我不确定这是否是最佳和标准的做法?

此库看起来相同,但在Github上并且最近工作过(最近到这个问题的发布日期)https://github.com/eXorus/php-mime-mail-parser

1)是否有一些特殊的电子邮件软件可以在服务器上运行以简化此过程?

2)我怎样才能做到这一点?我不是在寻找如何阅读电子邮件并解析电子邮件内容中的ID和其他数据......我只需要帮助将电子邮件内容传递给我的PHP脚本!

当然,如果存在一些我可以学习或者甚至可以使用这个功能的开源库,那也会很棒,但我还没有意识到它。

请期待关于这个主题的一些信息吗?

这是与How do I parse emails in realtime as they are received类似的问题,但是这个问题的答案解释了如果你使用的是CPanel我不会将电子邮件传送/转发到PHP脚本!这是我需要的行动,只是没有CPanel的帮助。

2 个答案:

答案 0 :(得分:2)

大多数MTA都能够将传入邮件传递给脚本。然后,您在How do I parse emails in realtime as they are recieved中引用的类似脚本的脚本可以在到达时处理传入的消息。

就MTA而言,qmail(http://cr.yp.to/qmail.html)是设置和管理的更简单的MTA之一。如果你决定使用qmail,我会推荐网站lifewithqmail.org,以获得有关如何安装和设置它的优秀指南。安装并运行qmail后,请执行以下操作将传入的消息配置为通过管道传输到PHP脚本:

在/ var / qmail / control / rcphosts中添加一行,告诉qmail它应该充当您域名的MX。

在/ var / qmail / control / virtualdomains中,添加一行,告诉qmail将邮件路由到此域的用户帐户:domain.tld:username

在用户目录中创建一个.qmail-default文件,其中包含要将邮件路由到的脚本的管道: /路径/到/脚本

重启qmail。

您需要为脚本上的所有人授予执行权限。

此时,每个传入的消息都应通过qmail传送到PHP脚本。

答案 1 :(得分:0)

我正在使用Parseur.com接收传入的电子邮件,解析它们,并通过http(json)将消息的信息和内容发布到URL。我的PHP脚本提取所需的数据(例如发件人,主题),并将附件保存到我的服务器中。免费计划每月最多处理20条消息。

我的安排是将发送到公共地址(例如message@myDomain.com)的电子邮件转发到myInbox@parseur.com,然后该服务解析该消息,并将所需的数据发送到我的脚本。