我设法通过IMAP检索hotmail的中文电子邮件正文,但与gmail或雅虎它不工作。我不知道为什么:
$mbox = imap_open ("{localhost:995/pop3/ssl/novalidate-cert}", "info@*******.com", "********");
$email="mail@hotmail.com";
$num_mensaje = imap_search($mbox,"FROM $email");
$body = imap_fetchbody($mbox,$num_mensaje[0],"1");
$str = mb_convert_encoding($body,"UTF-8","big5,EUC-CN");
查看邮件消息中Content-Transfer-Encoding
标头的内容。它会告诉你邮件正文的格式,这将决定你必须如何解码它。
需要支持的传输编码包括:
-
7bit
、8bit
或binary
:这些格式不需要预处理。 -
quoted-printable
:使用quoted_printable_decode
功能 -
base64
:使用base64_decode
.
一旦你处理了传输编码,那么你可以应用mb_convert_encoding