PHP imap如何正确解码邮件正文?
PHP imap how to decode email body correctly?
我使用 php 的 imap
自己开发了一个电子邮件系统,一切正常,除了用阿拉伯语编写的电子邮件,我已经尝试了所有解码功能,但似乎没有任何效果。我通过使用 imap_utf8
而不是电子邮件正文使主题完美运行。
这是电子邮件正文的样子:
�
رحبا
هاي الرسالة �
这是我的代码:
$text = imap_fetchbody($imap, $uid, $partNumber, FT_UID);
switch ($structure->encoding) {
case 3:
return imap_base64($text);
case 4:
return imap_qprint($text);
default:
return $text;
}
如果有人可以帮助解决这个问题。谢谢
尝试使用quoted-printable-decode() function as stated here
我建议你看看这个:https://github.com/mantisbt-plugins/EmailReporting/blob/master/core/Mail/Parser.php
它也使用你用过的东西,但它在上面添加了字符编码。
主题字符编码可以内联。对于电子邮件正文,它的一个字符集适用于整个正文
给定的脚本使用 pear 包,而不是 IMAP 扩展,但根据您的输入,它应该相当
希望对您有所帮助
我使用 php 的 imap
自己开发了一个电子邮件系统,一切正常,除了用阿拉伯语编写的电子邮件,我已经尝试了所有解码功能,但似乎没有任何效果。我通过使用 imap_utf8
而不是电子邮件正文使主题完美运行。
这是电子邮件正文的样子:
�
رحبا
هاي الرسالة �
这是我的代码:
$text = imap_fetchbody($imap, $uid, $partNumber, FT_UID);
switch ($structure->encoding) {
case 3:
return imap_base64($text);
case 4:
return imap_qprint($text);
default:
return $text;
}
如果有人可以帮助解决这个问题。谢谢
尝试使用quoted-printable-decode() function as stated here
我建议你看看这个:https://github.com/mantisbt-plugins/EmailReporting/blob/master/core/Mail/Parser.php 它也使用你用过的东西,但它在上面添加了字符编码。
主题字符编码可以内联。对于电子邮件正文,它的一个字符集适用于整个正文
给定的脚本使用 pear 包,而不是 IMAP 扩展,但根据您的输入,它应该相当
希望对您有所帮助