1

我要疯了,这是我用来发送电子邮件的代码 utf-8 编码,但是当我收到邮件时,它使用 utf-8 字符,但标题设置为 iso-8859-1 字符。

  1. 是 PHPMailer 的问题吗?
  2. 这可能是“覆盖”这些标头的 smtp 服务器的问题吗?
  3. 有什么可用的解决方案吗?

    连接(); $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")."
    ".html_entity_decode(stripslashes($author), ENT_COMPAT, $ENCODING_TYPE)." "; $body.="



    -----------------
    "."FooterText"."
    电话 - 传真 06.32.16.059

    su ".$mails_total." 联系方式"; } ?>

我不知道为什么代码显示 html 并且有所有这些格式问题,在这里你可以看到 paste 版本:

http://pastie.org/5533692

请注意,我在 16 岁时编写了此代码,我想避免完全重写(嗯,这个函数可以重写)。

4

1 回答 1

3

尝试$mail->CharSet=$ENCODING_TYPE;代替$mail->Charset=$ENCODING_TYPE;

于 2012-12-15T02:29:08.870 回答