我正在尝试将收到的邮件通过管道传输到 PHP 脚本,以便我可以将它们存储在数据库和其他内容中。我正在使用类(class) MIME E-mail message parser (registration required)虽然我认为这并不重要。
我对电子邮件主题有疑问。当标题是英文时它工作正常,但如果主题使用非拉丁字符,我会得到类似的内容
=?UTF-8?B?2KLYstmF2KfbjNi0?=
对于像这样的标题
我这样解码主题:
$subject = str_replace('=?UTF-8?B?' , '' , $subject);
$subject = str_replace('?=' , '' , $subject);
$subject = base64_decode($subject);
它适用于 10-15 个字符的短主题,但对于较长的标题,我会得到原始标题的一半,末尾带有诸如 ��� 之类的内容。
如果标题更长,比如 30 个字符,我什么也得不到。我这样做对吗?
最佳答案
您可以使用mb_decode_mimeheader()
函数来解码您的字符串。
关于php - 解码传入电子邮件主题 (utf 8) 的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8626786/