什么时候使用imap_qprint?

时间:2014-06-03 14:27:42

标签: php email imap pop3

我使用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,我想要知道为什么我的代码似乎需要省略它?

1 个答案:

答案 0 :(得分:0)

不确定您是否仍然对此感到好奇,但如果您确实想使用imap_qprint(),则需要先检查消息的编码是什么。

您可以使用imap_fetchstructure()执行此操作。 http://php.net/manual/en/function.imap-fetchstructure.php

只有当编码设置为'QUOTED-PRINTABLE'时才需要使用imap_qprint()。