[PHP-users 32692] Re: mail関数から送信したメールのsubjectが文字化け

M.Shimode mitsu @ acquez.co.jp
2007年 10月 1日 (月) 23:38:07 JST


Shimode @ AQZ と申します。

ZenCartではメール送信について、メールヘッダーでのマルチバイトには対応してい
ません。
したがって、メールヘッダー内に日本語が含まれる場合は、

  $mail_subject = "日本語のタイトル";
  $mail_from = "送信者名 < user @ sample.com > ";
 $mail_subject = mb_convert_encoding($mail_subject, "JIS", "EUC, SJIS,
UTF8");
 $mail_subject = mb_convert_encoding($mail_from, "JIS", "EUC, SJIS, UTF8");

などのようにしておく必要があります。

ZenCartの場合、includesディレクトリの中にある
functions_email.phpにメール送信関連のファンクションが記述されているので、
該当の箇所に追記または変更を加えれば問題はないです。

> >日本語ヘッダを使う場合は文字列がJISコードをbase64変換したもので
> ある必要があります。
> これは自分には良くわからないのですがデフォルトでは駄目ということでしょう
か?
>
> 自分はZenCartでのメール送信を目指していてるのでできることならばサーバーの
設
> 定で文字化けを解消したいのですがいかがでしょうか。ZenCartのphpスクリプトを
書
> き換えようと思ったのですが調べても何を書き換えればよいかわからないでいま
す。
> サーバー側の設定で解決できれば他にXoops等を入れる際にもありがたいです。
>
> 宜しくご教授願います。
>

Xoopsの場合は、どうか知りませんが、ローカライズが完全でないものを利用する際
は、
特にメール関連については、この手を処理をあらかじめ含ませておくのは普通のこと
ですし、
サーバー側での対応については、ここでの話題としては不適切だと思われますが
たぶん非常に困難ではないと思います。
逆にメールサーバーのコンフィグだけで対応できる方法があれば教えて欲しいと思い
ますねw

-------------------------------------**
 ACQUEZ, Inc http://www.acquez.co.jp/
 M.Shimode
 mail:mitsu @ acquez.co.jp



PHP-users メーリングリストの案内