設置

ID #1003

PHP 4.4.x におけるメールヘッダー部の文字化け

メール送信時のヘッダー情報の文字化け(mb_encode_mimeheaderの挙動による)を回避するには、mb_encode_mimeheader で変換する文字列の先頭にタブをいれます。

catalog/includes/classes/email.php の以下の3箇所を修正。

if ($subject != '') {
// PHP 4.4.x 対応 : BOF
// $subject = mb_encode_mimeheader(mb_convert_kana($subject, "KV"),
"ISO-2022-JP", "B", $this->lf);
$subject = mb_encode_mimeheader(mb_convert_kana("\\t".$subject, "KV"),
"ISO-2022-JP", "B", $this->lf);
// PHP 4.4.x 対応 : EOF
}

//$to = ($to_name != '')
// ? ('"' . mb_encode_mimeheader(mb_convert_kana($to_name, "KV"),
"ISO-2022-JP", "B", $this->lf) . '" <' . $to_addr . '>')
// : $to_addr;
$to = ($to_name != '')
? ('"' . mb_encode_mimeheader(mb_convert_kana("\\t".$to_name, "KV"),
"ISO-2022-JP", "B", $this->lf) . '" <' . $to_addr . '>')
: $to_addr;

//$from = ($from_name != '')
// ? ('"' . mb_encode_mimeheader(mb_convert_kana($from_name, "KV"),
"ISO-2022-JP", "B", $this->lf) . '" <' . $from_addr. '>')
// : $from_addr;
$from = ($from_name != '')
? ('"' . mb_encode_mimeheader(mb_convert_kana("\\t".$from_name, "KV"),
"ISO-2022-JP", "B", $this->lf) . '" <' . $from_addr. '>')
: $from_addr;

admin/includes/classes/email.php も同様です。

最終更新: 2007-07-31 23:20
作成者: ヤマモト・ツール・ワークス
改定: 1.0

このレコードを印刷する このレコードを印刷する
友達に教える 友達に教える
PDF ファイルで表示する PDF ファイルで表示する
XML ファイルエクスポート XML ファイルエクスポート

このエントリを評価してください:

評価点数: 1 - 5 (11 個の投票 )

完全に役に立たない 1 2 3 4 5 最も価値がある

このエントリにコメントできません。