[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 メーリングリストの案内