使用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);
有人可以帮我找到问题是什么?
答案 0 :(得分:2)
你遇到两个不同的问题:
粗体文本只是因为浏览器解释了邮件中的html。为避免这种情况,您可以使用htmlentities()或htmlspecialchars()
转义内容“shouldn = 92t”是带引号的可打印编码字符串。必须将其解码为可读 - 可以使用quoted_printable_decode()或imap_qprint()
来完成