我想知道当不支持imap_fetchmime()时如何通过 PHP IMAP 获取字符集。我要么有一个不支持它的较低版本的 PHP,要么它可能已被弃用,但它对我不起作用。
我基本上需要的是通过 IMAP 找出电子邮件的字符集,所以输出将是:
ISO-8859-1
或者不管结果如何。我不想阅读整封电子邮件来找出答案,我想找出字符集是什么,以便我可以使用正确的编码。
这是我为这封电子邮件而使用的简化代码:
$mailbox = "xxx@gmail.com";
$mailboxPassword = "xxx";
$mailbox = imap_open("{imap.gmail.com:993/imap/ssl}INBOX",
mailbox, $mailboxPassword);
mb_internal_encoding("UTF-8");
$subject = mb_decode_mimeheader(str_replace('_', ' ', $subject));
$body = imap_fetchbody($mailbox, $val, 1);
$body = base64_decode($body);
echo $body;