我要疯了,这是我用来发送电子邮件的代码 utf-8 编码,但是当我收到邮件时,它使用 utf-8 字符,但标题设置为 iso-8859-1 字符。
- 是 PHPMailer 的问题吗?
- 这可能是“覆盖”这些标头的 smtp 服务器的问题吗?
有什么可用的解决方案吗?
连接(); $mail=新 PHPMailer(); $mail->字符集 = $ENCODING_TYPE; $mail->ContentType="text/html; charset=".$ENCODING_TYPE; $mail->IsSMTP(); $mail->主机=SMTP_HOST; $mail->发件人=SITE_MAIL; $mail->FromName=mb_convert_encoding(SITE_MAIL_NAME, $ENCODING_TYPE, "auto"); $mail->Subject=html_entity_decode(stripslashes($title), ENT_COMPAT, $ENCODING_TYPE); $身体=''。stripslashes($title).''; $body.="
".''.html_entity_decode(stripslashes($title), ENT_COMPAT, $ENCODING_TYPE).'
'.mb_convert_encoding(stripslashes($mail_body), $ENCODING_TYPE, "auto")."
su ".$mails_total." 联系方式"; } ?>
".html_entity_decode(stripslashes($author), ENT_COMPAT, $ENCODING_TYPE)." "; $body.="
-----------------
"."FooterText"."
电话 - 传真 06.32.16.059
我不知道为什么代码显示 html 并且有所有这些格式问题,在这里你可以看到 paste 版本:
请注意,我在 16 岁时编写了此代码,我想避免完全重写(嗯,这个函数可以重写)。