[PHP-dev 1171] PHP-5.0.5 mb_send_mail() Bug

J.Kuwamura juk @ rccm.co.jp
2005年 9月 30日 (金) 13:19:38 JST


桑村です

php-5.0.5 の mb_send_mail() にバグがありそうです。

http://jp.php.net/manual/ja/function.mb-encode-mimeheader.php
http://bugs.php.net/bug.php?id=23192

に mb_encode_mimeheader のバグがあるとありますが、
これに関連しているのでしょうか?

下記のようなテストプログラム(EUC_JPで保存)を
(CLIにて)実行すると、
--
Subject: [TEST] 【tokyo-avland】公的証明書の送付期限のお知らせ(B
--
のようにサブジェクトの後ろにゴミがつきます。

-- 記 --
<?php
$mail = "you @ to.domain";
$from = "My Name";
$from_email = "me @ from.domain";
$header = "From: $from <$from_email>\n";
$header .= "Reply-To: $from <$from_email>\n";

$subject  = "[TEST] 【tokyo-avland】公的証明書の送付期限のお知らせ";
$message = "メールヘッダのテスト中。\n";
$message .= "メールボディーのテスト中。\r";
$message .= "テストボディー終わり。\r\n";
$message .= "テスト終了。";

$ret= ja_send_mail($mail, $subject, $message, $header);
echo "ret = $ret\n";


function ja_send_mail($mail, $subject, $message, $header, $encoding="ISO-2022-JP")
{
  mb_language("ja");
  $sendmail_params = "";

  $subject = mb_convert_encoding($subject, $encoding, "AUTO");

echo "\"$subject\"\n";
$enc=mb_detect_encoding($subject);
echo $enc . "/" . mb_strlen($subject, $enc) ."\n";

  $headers  = "Mime-Version: 1.0\nContent-Type: text/plain; charset=ISO-2022-JP\nContent-Transfer-Encoding: 7bit\n" . $header;

  $message = mb_convert_encoding($message, $encoding, "AUTO");
  $message .= "\n==\n<subject>".$subject."</subject>\n"; // debug

  return mb_send_mail($mail, $subject, $message, $headers, $sendmail_params);
}
?>
--
  J.Kuwamura


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