0

我想使用 php 将数据从电子邮件收集到 mysql 数据库。

如果有人将邮件发送到他们的邮件帐户到我的邮件 ID。我希望该邮件信息存储在我的数据库中。以便进一步操作。这在 PHP 中是可能的,因为我在一个由 PHP 开发的 托管支持应用程序Kayako Fusion中看到了此功能。

所以请提供一些信息来完成这项任务。

4

4 回答 4

0

如果您想使用 PHP 进行解析,最好的方法是使用 3rd 方 API 来恢复电子邮件,然后使用 HTTP Post 将其发送到您的 PHP 脚本。

我建议使用sendgrid.commailgun.com

这两个服务都将解析电子邮件并将信息以 http POST 的形式发送给您,然后您可以将其插入 mysql。两者的 API 文档:MailGun Incoming Parse API / SendGrid Incoming Parse API

于 2013-01-25T08:50:24.867 回答
0

您可以使用imap 函数,例如:

<?php
$imap = imap_open("{server.example.com:143}INBOX" , 'login' , 'password');

if( $imap ) {

     //Check no.of.msgs
     $num = imap_num_msg($imap);

     //if there is a message in your inbox
     if( $num >0 ) {
          //read that mail recently arrived
          $the_message = imap_body($imap, $num);

          //Do the stuff with $the_message
     }

     //close the stream
     imap_close($imap);
}
于 2013-01-25T08:50:28.977 回答
0

您必须设置连接到 Exchange 或 POP 服务器的 cronjob(Windows 上的计划任务),检索上次运行的所有新电子邮件并将它们插入数据库。

如果是 POP 邮件服务器(我认为 POP 会更容易),这里有一条评论,其中包含您需要的所有功能 -> here。如果这不起作用,请尝试谷歌搜索“PHP POP wrapper”或类似的东西。

如果是 Microsoft Exchange 服务器,您必须使用 PHP Exchange 包装器,这里为您找到了一个。

祝你好运!

于 2013-01-25T08:57:29.693 回答
0

您可以将电子邮件通过管道传输到 php 脚本,然后提取电子邮件的每个部分并将其存储在数据库中。

检查这个例子

当您收到电子邮件内容时,您可以随心所欲

于 2013-01-25T09:04:52.717 回答