电子邮件解析器或php imap函数?

时间:2013-03-26 23:50:21

标签: php parsing email

我想要一种非常可靠的方法从电子邮件标头中检索数据。我应该使用像https://github.com/plancake/official-library-php-email-parser这样的电子邮件解析器,还是足以获取该数据的php imap函数?什么是最佳做法?有经验吗?我可以想象,许多电子邮件客户端组成的格式化电子邮件标题存在很多差异。这就是我想要一个可靠的解决方案的原因。

1 个答案:

答案 0 :(得分:1)

我使用内置的IMAP函数来处理一个项目,该项目需要按日期处理电子邮件,实际上不需要任何其他内容。您可以尝试使用以下代码查看它们是否对您有用;

<?php

/* connect to gmail */
$hostname = '{imap.gmail.com:993/imap/ssl}INBOX';
$username = 'user@gmail.com';
$password = 'pass123';

/* try to connect */
$inbox = imap_open($hostname, $username, $password, OP_READONLY,1) or die('Cannot connect to Gmail: ' . print_r(imap_last_error()));
$emails = imap_search($inbox, 'ALL');

/* if emails are returned, cycle through each... */
if ($emails) {

    foreach ($emails as $email_number) {

        echo imap_fetchbody($inbox, $email_number, 0);
        echo imap_fetchbody($inbox, $email_number, 1);
        echo imap_fetchbody($inbox, $email_number, 2);

    }

}

imap_close($inbox);
?>

棘手的部分是imap_fetchbody($inbox, $email_number, 0)。这部分将返回标题。获得后,您可以根据需要解析或使用它。

希望它有所帮助。