1

気が狂います。これは、utf-8でエンコードされた電子メールを送信するために使用しているコードです。ただし、メールを受信すると、utf-8文字が使用されますが、ヘッダーはiso-8859-1文字に設定されます。

  1. PHPMailerの問題ですか?
  2. これは、これらのヘッダーを「オーバーライド」しているSMTPサーバーからの問題でしょうか?
  3. 利用可能な解決策はありますか?

    接続(); $ mail = new PHPMailer(); $ mail-> Charset = $ ENCODING_TYPE; $ mail-> ContentType = "text / html;charset="。$ENCODING_TYPE; $ mail-> IsSMTP(); $ mail-> Host = SMTP_HOST; $ mail-> From = SITE_MAIL; $ mail-> FromName = mb_convert_encoding(SITE_MAIL_NAME、$ ENCODING_TYPE、 "auto"); $ mail-> Subject = html_entity_decode(stripslashes($ title)、ENT_COMPAT、$ ENCODING_TYPE); $ body=''。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"。"Tel。
    -Fax06.32.16.059

    su"。$mails_total。" contatti trovati ";}?>

コードがhtmlを表示し、これらすべてのフォーマットの問題がある理由はわかりません。ここで、pastieバージョンを確認できます。

http://pastie.org/5533692

このコードは16歳のときに書いたものであり、完全な書き直しは避けたいことに注意してください(この関数は書き直すことができます)。

4

1 に答える 1

3

$mail->CharSet=$ENCODING_TYPE;代わりに試してください$mail->Charset=$ENCODING_TYPE;

于 2012-12-15T02:29:08.870 に答える