使用PHP捕获和管理电子邮件数据

时间:2011-08-11 15:33:39

标签: php email

我正在寻找一种使用PHP捕获和管理电子邮件数据的方法。基本上,我想要做的是捕获电子邮件中的所有数据,然后将这些数据操作到我的规范中。

例如,我发送一封包含.zip文件附件的电子邮件到myemail@myproject.com,我希望能够:

  1. 获取附件并将​​其放在我网站上的特定文件夹中
  2. 获取电子邮件的文字内容
  3. 获取电子邮件的主题
  4. 获取发件人的信息,即电子邮件地址
  5. 任何人都知道如何使用PHP有效地完成这项工作。我顺便使用LAMP。

    感谢。

1 个答案:

答案 0 :(得分:2)

从PEAR Mail_mimeDecode开始。你想要做的是雄心勃勃,但可以做到。

基本上你要做的是:

指示您的MTA将地址中的邮件传递到您的PHP脚本中。 Postfix和Sendmail可以通过以下别名来处理:

myemail: "|/path/to/your/parsingscript.php"
  • 解析MIME电子邮件的部分内容
  • 在从base64(或其他编码)解码附件后找到并存储附件
  • 解析标题。

您的PHP脚本可能会从STDIN读取电子邮件,然后将字符串传递给mimeDecode,这会创建一个包含所有MIME部分的对象。

假设您的邮件是received into $str from STDIN,这样的内容就会让您开始:

$mime = Mail_mimeDecode::decode(array('include_bodies'=>TRUE, 'decode_headers'=>TRUE, 'decode_bodies'=>TRUE, 'input'=>$str));

// get the recipient To address:
$to = $mime->headers['to'];