电子邮件解析器或PHP imap函数


email parser or php imap functions?

我想要一个非常可靠的方式从电子邮件标题检索数据。我应该使用电子邮件解析器,如https://github.com/plancake/official-library-php-email-parser或php imap函数足以获得这些数据?什么是最佳实践?有什么经验吗?我可以想象,许多电子邮件客户端在格式化电子邮件标题方面存在很多差异。这就是为什么我需要一个可靠的解决方案。

我在一个项目中使用了内置的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)。这部分将返回报头。一旦你得到了它们,你就可以按照你的意愿解析或使用它。

希望能有所帮助。