解析发送到地址 PHP 的电子邮件?
Parse email sent to an address with PHP?
作为一个副项目,多年来我一直想构建一个不错的小 PHP 库,它可以允许发送到预定义电子邮件地址的电子邮件然后用 PHP 解析并保存到 MySQL 数据库.
许多支持票和帮助台都有此功能。您可以向某个地址发送电子邮件,并根据其来源的电子邮件地址和内容为用户创建支持票证。此外,回复电子邮件将从发送的电子邮件添加到系统的工单回复。
这整个概念一直让我着迷,有一次我做了足够的研究以完全知道如何去做。虽然已经过去了很多年,但我不确定实现这一目标的最佳途径,我正在寻找有关如何做到这一点的信息。
我想构建某种 SugarCRM 插件,使用此功能能够将我客户的电子邮件分配到我的 CRM 中的帐户和联系人记录。
我今晚的初步搜索找到了这个项目 PHP Mime Mail Parser here https://code.google.com/p/php-mime-mail-parser/
它指出:"You will need to download the email to a file first and then pass it to MimeMailParser." 所以这可能有助于找到一个程序或方法也能做到这一点...将电子邮件保存到一个我可以使用 PHP 访问的文件,然后删除它们。我只是不确定这是否是执行此操作的最佳和标准方法?
还有这个库,它看起来一样但是在 Github 上并且最近工作(最近到这个问题的 post 日期)https://github.com/eXorus/php-mime-mail-parser
1)服务器上是否有一些特殊的电子邮件软件可以运行简化这个过程?
2) 我怎样才能做到这一点?我不是在寻找如何阅读电子邮件并解析电子邮件内容中的 ID 和其他数据...我只是需要帮助将电子邮件内容传递到我的 PHP 脚本!
当然,如果存在一些我可以研究甚至可以使用的开源库来实现此功能,那也太棒了,但我还不知道。
期待有关该主题的一些信息吗?
这是一个与 How do I parse emails in realtime as they are received 类似的问题,但是该问题的答案解释了如何 pipe/forward 仅在您使用 CPanel 时向 PHP 脚本发送电子邮件,而我不是!这是我需要的所需操作,只是没有 CPanel 的帮助。
大多数 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 文件,其中包含一个指向您要将邮件路由到的脚本的管道: | /path/to/script
重启qmail。
您需要为所有脚本授予执行权限。
此时,每条传入的消息都应通过 qmail 传送到 PHP 脚本。
我正在使用 Parseur.com 接收传入的电子邮件,解析它们,并通过 http post 将邮件的信息和内容发送到 URL(json ).我的 PHP 脚本提取所需的数据,例如发件人、主题,并将附件保存到我的服务器。免费计划每月最多处理 20 条消息。
我的安排是将发送到 public 地址(例如 message@myDomain.com)的电子邮件转发到 myInbox@parseur.com,然后服务解析邮件,并发送我想要我的脚本的数据。
作为一个副项目,多年来我一直想构建一个不错的小 PHP 库,它可以允许发送到预定义电子邮件地址的电子邮件然后用 PHP 解析并保存到 MySQL 数据库.
许多支持票和帮助台都有此功能。您可以向某个地址发送电子邮件,并根据其来源的电子邮件地址和内容为用户创建支持票证。此外,回复电子邮件将从发送的电子邮件添加到系统的工单回复。
这整个概念一直让我着迷,有一次我做了足够的研究以完全知道如何去做。虽然已经过去了很多年,但我不确定实现这一目标的最佳途径,我正在寻找有关如何做到这一点的信息。
我想构建某种 SugarCRM 插件,使用此功能能够将我客户的电子邮件分配到我的 CRM 中的帐户和联系人记录。
我今晚的初步搜索找到了这个项目 PHP Mime Mail Parser here https://code.google.com/p/php-mime-mail-parser/ 它指出:"You will need to download the email to a file first and then pass it to MimeMailParser." 所以这可能有助于找到一个程序或方法也能做到这一点...将电子邮件保存到一个我可以使用 PHP 访问的文件,然后删除它们。我只是不确定这是否是执行此操作的最佳和标准方法?
还有这个库,它看起来一样但是在 Github 上并且最近工作(最近到这个问题的 post 日期)https://github.com/eXorus/php-mime-mail-parser
1)服务器上是否有一些特殊的电子邮件软件可以运行简化这个过程?
2) 我怎样才能做到这一点?我不是在寻找如何阅读电子邮件并解析电子邮件内容中的 ID 和其他数据...我只是需要帮助将电子邮件内容传递到我的 PHP 脚本!
当然,如果存在一些我可以研究甚至可以使用的开源库来实现此功能,那也太棒了,但我还不知道。
期待有关该主题的一些信息吗?
这是一个与 How do I parse emails in realtime as they are received 类似的问题,但是该问题的答案解释了如何 pipe/forward 仅在您使用 CPanel 时向 PHP 脚本发送电子邮件,而我不是!这是我需要的所需操作,只是没有 CPanel 的帮助。
大多数 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 文件,其中包含一个指向您要将邮件路由到的脚本的管道: | /path/to/script
重启qmail。
您需要为所有脚本授予执行权限。
此时,每条传入的消息都应通过 qmail 传送到 PHP 脚本。
我正在使用 Parseur.com 接收传入的电子邮件,解析它们,并通过 http post 将邮件的信息和内容发送到 URL(json ).我的 PHP 脚本提取所需的数据,例如发件人、主题,并将附件保存到我的服务器。免费计划每月最多处理 20 条消息。
我的安排是将发送到 public 地址(例如 message@myDomain.com)的电子邮件转发到 myInbox@parseur.com,然后服务解析邮件,并发送我想要我的脚本的数据。