[PHP-users 27364] Re: PHP4.4.1でmb_send_mailの第5引数が利かなくなってる?
Y.Watanabe
haward99 @ yahoo.co.jp
2005年 11月 3日 (木) 22:04:36 JST
渡辺です。
やっぱりPHP側のバグっすよねえ・・・。
envelope fromが設定できないのでエラーメール処理に影響がでて困ってます。
重大なセキュリティホールが発見されて云々でバージョンアップせよ!と言われても、
こういうよく使う関数でバグがあるとちゅうちょせざるを得ない・・・(涙)
とりあえず、以下はmb_send_mail()ではなくmail()を使った
work arroundということでご参考まで。
#他にもある mb_*関数系のバグに引っかからないことを祈りつつ。
<?php
$to = 'あて先メールアドレス';
$subject ='へろー';
$body = 'てーすとー';
$head = "From: one @ example.com\n";
$opt = '-fsender @ example.com';
//mb_send_mail($to,$subject,$body,$head,$opt);
$head .= "Mime-Version: 1.0\n";
$head .= "Content-Type: text/plain; charset=ISO-2022-JP\n";
$head .= "Content-Transfer-Encoding: 7bit\n";
mail(
$to,
mb_encode_mimeheader(mb_convert_encoding($subject, "JIS"), "ISO-2022-JP", "B"),
mb_convert_encoding($body, "JIS"),
$head,
$opt
);
?>
Y.Watanabe wrote on 2005/11/03 11:15
with Subject: [PHP-users 27354] PHP4.4.1でmb_send_mailの第5引数が利かなくなってる?
> ども。渡辺です。
>
> PHP4.4.1で、mb_send_mail()の第5引数(MTAにオプション与えるやつ)が
> 利かなくなってませんか?
>
> --- コード ---
> <?php
> $to = '自分のメールアドレス';
> $subject ='hello';
> $body = 'てーすとー';
> $head = "From: one @ example.com\n";
> $opt = '-fsender @ example.com';
> mb_send_mail($to,$subject,$body,$head,$opt);
> ?>
>
> --- 期待される結果 ---
> 届いたメールのReturn-Pathが
> Return-Path: <sender @ example.com>
>
> または、MTA(うちではpostfix)に残るログが
> postfix/qmgr[16453]: B6843CE01B: from=<sender @ example.com>, size=292, nrcpt=1 (queue active)
> みたいな。
>
> --- 実際の結果 ---
> 上の期待値のsender @ example.comの部分が、
> 「コマンドを実行したユーザー名@ドメイン」になっている
>
> ※画面ではなくコマンドラインからの実行です。
>
> 上のコードで、mb_send_mailをmail()にするとうまくいってるようです。
>
> mb_send_mailは他にも題名のMIMEエンコードにときどき失敗したりしていて、
> 4.4.x以降なんかやたら不安定になってません?(マルチバイト関数系全体??)
> まじ困ってます・・・。
>
PHP-users メーリングリストの案内