2012-12-11 43 views
0

我有一个包含5000多封电子邮件的收件箱,说有人注册了。在电子邮件的正文中是他们的电子邮件地址和我想要存储在数据库中的名称。 Q)我怎样才能把这个数据库加入到数据库中?理想情况下,MySQL。从我的收件箱中存储的电子邮件创建电子邮件数据库

理想情况下,我想在我最熟悉的PHP中执行此操作。

我使用iRedMail有:OpenLDAP的

UPDATE:自发布使用Plan Cake Email Parser我已经写了实际的电子邮件分析器的问题,硬是花了5分钟后,我发现这一点。

UPDATE 2: 为了使事情变得更容易,我将数据库中所有需要的电子邮件都移动到单独的IMAP文件夹中。

但是当我做一个搜索它没有返回值:找到的/ var/vmail -name“认购”型d -

更新3: 另一种选择是,我已经在我的电子邮件客户端下载的电子邮件在本地使用Thunderbird的Windows 7当我检查我的配置,我可以看到3个相关文件:

  1. Subscribers.msf
  2. 认购-1
  3. 认购-1.msf
+0

我希望将来你会直接把这个存储到db – 2012-12-11 07:56:05

回答

1

真正棘手的部分是不解析电子邮件,而是从您的服务器获取电子邮件。有三种方式我可以这样想:

  1. 使用php的imap库http://php.net/manual/en/book.imap.php。我个人并没有非常努力,但因为你只是提取所有的电子邮件,它可能是有用的。缺点是您最终还会获取所有其他邮件。
  2. 使用第三方服务处理imap并通过更简单的REST界面显示您的电子邮件。理想情况下,您希望搜索关键词(也许是“用户注册”),然后解析它。
  3. 使用offlineimap将所有电子邮件作为Maildir下载并存储在本地。现在,您可以使用PHP搜索所有电子邮件,并且在此处测试版本会更快更轻松。

至于解析,我个人推荐使用grep查找包含要提取信息的邮件,并awk这些信息转换成CSV文件。你可以使用PHP来进行文本处理,但这样做更简单,更清洁。

您现在可以轻松地将数据推送到MySQL。

相关问题