我设法通过IMAP使用hotmail检索中文字符的电子邮件正文但是使用gmail或yahoo它不起作用。我不知道为什么:
$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");
答案 0 :(得分:0)
查看电子邮件中Content-Transfer-Encoding
标题的内容。它会告诉您电子邮件正文的格式,这将决定您必须如何解码它。
您需要支持的转移编码包括:
7bit
,8bit
或binary
:这些格式无需预处理。quoted-printable
:使用quoted_printable_decode
功能。base64
:使用base64_decode
。处理完转移编码后,即可申请mb_convert_encoding
。