我使用PHP的IMAP Functions扩展程序检查来自POP3帐户的电子邮件。
当涉及实际获取消息时,我有以下代码:
// Make new raw email message
// With PHP Imap, we need to fetch headers and body separately!
$body = imap_fetchheader($mailbox, $msgno);
$body .= imap_qprint(imap_body($mailbox, $msgno));
我能够找到的所有示例都提到应该在这里使用imap_qprint(),但是我注意到当我执行URI的所有GET参数时都会受到损坏。
例如,
http://localhost/pronk.php?id=6248&key=c7eb7c5173e1525a47c63abc39d938e1
成为:
http://localhost/pronk.php?idb48&keyÇeb7c5173e1525a47c63abc39d938e1
如果我不使用imap_qprint()
,一切似乎都运转正常。 (我使用imap_body
代替imap_fetch_body
,因为我想要整个电子邮件 - 标题,部分和所有内容)但是因为我能找到的所有示例都说使用qprint,我想要知道为什么我的代码似乎需要省略它?
答案 0 :(得分:0)
不确定您是否仍然对此感到好奇,但如果您确实想使用imap_qprint(),则需要先检查消息的编码是什么。
您可以使用imap_fetchstructure()执行此操作。 http://php.net/manual/en/function.imap-fetchstructure.php。
只有当编码设置为'QUOTED-PRINTABLE'时才需要使用imap_qprint()。