我使用标准的imap函数来抓取邮件,我需要保留 跟踪要构建的Message-ID(以及引用和In-Reply-To) 线程。 我通过smtp回复邮件,保留旧主题,但在我的网络界面中没有与他人分组。如果我添加In-Reply-To标题 - 一切正常。
问题是我无法获取Message-ID,References,In-Reply-To的值(但在Web界面中它们存在)。 我尝试了不同的函数(imap_headerinfo,imap_fetchheader,imap_fetch_overview),但所有这些值都是空的。
请帮忙!
答案 0 :(得分:8)
消息ID的格式如下:
<OTJMCQtXnqgMaP1rLJi-cD9IvuH+xuVndE-DoWAZB0cbdffqHdw@mail.gmail.com>
由浏览器解析为HTML标记,以下代码将以浏览器可以显示的方式输出消息ID:
$this->mbox = imap_open('{imap.gmail.com:993/imap/ssl}', $email, $password);
$headers = imap_header($this->mbox, 1);
echo htmlentities($headers->message_id);
或者如果你绝对必须使用print_r:
$this->mbox = imap_open('{imap.gmail.com:993/imap/ssl}', $email, $password);
ob_start();
print_r(imap_header($this->mbox, 1));
print_r(imap_fetch_overview($this->mbox, 1));
print_r(imap_fetchheader($this->mbox, 1));
echo htmlentities(ob_get_clean());