在IMAP中获取垃圾字符

时间:2013-09-30 22:12:39

标签: php imap

使用php IMAP时我会收到垃圾字符

<b>Text in bold</b> getting converted to *Text in bold* 
 words like shouldn't are getting converted to shouldn=92t

我正在使用的代码是

$inbox = imap_open('host', 'un', 'pw') or die('Cannot connect to Mail box: ' . print_r(imap_errors()));
$mails = imap_search($inbox,'UNSEEN');
if($mails) {
    foreach($mails as $mail) {
        echo $message = imap_fetchbody($inbox, $mail, 1);
        echo "<br><br>";
    }
}
imap_close($inbox);

有人可以帮我找到问题是什么?

1 个答案:

答案 0 :(得分:2)

你遇到两个不同的问题:

粗体文本只是因为浏览器解释了邮件中的html。为避免这种情况,您可以使用htmlentities()htmlspecialchars()

转义内容

“shouldn = 92t”是带引号的可打印编码字符串。必须将其解码为可读 - 可以使用quoted_printable_decode()imap_qprint()

来完成