• ベストアンサー

mb_send_mailで送ったエラーメールの行方

phpのmb_send_mail関数ですがデフォルト設定でsendmailを使ってメールを送信しているようです。エラーメールを送信した場合、エラーメールが普通に戻って来ません、どこにエラーメールが行ってるか教えてください。 エラーメール=アドレスが正しくないメールや送信時にエラーが出たメールアドレスなど

  • rijp
  • お礼率40% (12/30)
  • PHP
  • 回答数3
  • ありがとう数5

質問者が選んだベストアンサー

  • ベストアンサー
  • taseki
  • ベストアンサー率66% (155/233)
回答No.3

sendmailラッパーを使っているだけなのでは。 メールサーバーがXmailとのことなので、PHPから見てラッパーが何であっても、やはりXmailが使われます。 で、エンベロープというのは言わば郵便手紙でいうところの封筒のようなものです(語弊があるかもしれませんが)。メールヘッダーではなく、送信時に付加されるもので、送信者などが記載されます。 おそらく、エラーメールの行き先、というよりデフォルトの送信者を、Xmailの設定で確認するのが早道だと思います。

rijp
質問者

お礼

詳しくありがとうございました。 今後xmailじゃなくpostfixを使うことにします、この時postfixの設定をきちんと設定してみてテストして見ます。 ありでした。

その他の回答 (2)

  • taseki
  • ベストアンサー率66% (155/233)
回答No.2

ログには何か記録されていますか? xmailも設定ファイルで同じように設定できると思いますが、あるいは自分宛てにメールを送って、エンベロープにデフォルトで付けられるアドレスを調べてみるとか。

rijp
質問者

補足

お書き込みありがとうございます。 mb_send_mailで自分宛に送ってのソースをみたところ 以下のようになっています。 ※一部の自分のメールアドレスとドメイン名を削除しました。 また以下のソースを見ますと、Xmailサーバから来たことになっていますね。 php.iniではsendmailになっているはずなのにXmailサーバを使っているのですね。 XMailサーバの設定がちゃんとなっていないからでしょうか?。 それと初心者なものでエンベロープの意味がわかりません。 ------------------------------------------------- Received: from /spool/local by xxxxxx.net with [XMail 1.21 LMAIL Server] Wed, 20 Jul 2005 14:59:05 +0900 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit Date: Wed, 20 Jul 2005 14:59:05 +0900

  • taseki
  • ベストアンサー率66% (155/233)
回答No.1

> エラーメールが普通に戻って来ません の意味がちょっと解らなかったのですが、sendmailでMAILER-DAEMONから自動返信エラーメールが送られる先は、エンベロープに書かれた送信者であって、「From:」ではありません。 それと sendmail.cfで設定されているErrorModeによっても違います(たとえばモードm)。

rijp
質問者

お礼

お書き込みありがとうございます。 MAILER-DAEMONからの自動返信エラーメールを送信しないのですが、サーバで受信してるとは思いますがその受信先がわかりません。 またsendmail.cfのファイルをfind / -name sendmail.cfでファイル検索しましたが見つかりませんでした。 参考に使ってるメールサーバはxmailです。 お手数ですがよろしくお願いします。

rijp
質問者

補足

訂正 MAILER-DAEMONからの自動返信エラーメールを送信ではなく受信です。

関連するQ&A

  • mb_send_mail()が使えない

    WebからPHPのmb_send_mail関数を使用してメールを送信しようとしていますが、なぜか送信されません。 原因についてお分かりになればお教えください。 また、下記以外に必要な情報があればお教えください。 コマンドライン上でのmailコマンドによるメール送信は可能な状態です。 sendmailの代わりにqmailをインストールしているため、/usr/sbin/sendmailから/var/qmail/bin/sendmailへシンボリックリンクを貼っています。 また、PHPのmail()は"Call to undefined function: mail()"エラーとなりますが、mb_send_mail()ではエラーが発生しません。 ●OS:TurboLinux7 ●言語:PHP4.3.3 ●phpのconfigure時のオプション:  ./configure --with-apxs=/usr/sbin/apxs \  --enable-mbstring ●/usr/local/lib/php.iniのsendmail_path設定:  sendmail_path = /var/qmail/bin/sendmail ●テスト用PHPのソース(実行すると常に「メール送信エラー」になります) <?php $ans = mb_send_mail("メールアドレス","件名","本文"); if ($ans) { print "<P>メール送信完了</P>"; } else { print "<P>メール送信エラー</P>"; } ?>

    • ベストアンサー
    • PHP
  • mb_send_mailに関して

    環境:Windows2008 Server R2 64bit/php5.3.22 教えて下さい。 Windows2008 Server R2 64bit 環境にてPHPを動作させ、mb_send_mail()関数を使って メールを送信しようと考えています。 PHPも問題なく動き、mb_send_mail()関数用にphp.ini も以下のようにメンテナンスし、記述も 問題ないかと思われますが、メールの送信ができません。。。 64bitでは何か設定が違うのでしょうか? 教えて頂きたいと思います。 《php.ini》   [mail function]  For Win32 only.          ← 32bit only とわざわざ記述がある為、64bit ではNG?  http://php.net/smtp  SMTP = XXXXXX  http://php.net/smtp-port  smtp_port = 25  For Win32 only.  http://php.net/sendmail-from  sendmail_from = XXX@XXX.co.jp 《記述内容》  <?php  $mailto = "XXX@XXX.co.jp";  $subject = "掲示板";  $content = "新規投稿がありました。 ☆☆☆";  $mailfrom = "From:mail@colcoat.co.jp";  mb_language("ja");  mb_internal_encoding("UTF-8");  if(mb_send_mail($mailto,$subject,$content,$mailfrom)){  }else{   echo "送信できませんでした";  }  ?> よろしくお願いします。

    • ベストアンサー
    • PHP
  • mb_send_mail()に関しまして

    初めて投稿させて頂きます。 PHPを触り始めて間もない者ですが、よろしくお願い致します。 現在、PHPの勉強を兼ねまして空メールを送るプログラムを作成しております。 フォームにボタンを1つ設け、そのボタンを押下すると指定のあて先に空メールを送るという簡単なものです。 【html内のボタンの設定】 <form name="top" method="post" action="a.php"> <input type="submit" value="空メールを送る"/> </form> 【a.php(正しく送れたかを知るためにメッセージを表示するようにしてあります)】 <html> <head> PHPメールテスト送信 </head> <body> <? $address = '送信先メールアドレス'; $subject = ''; $message = 'PHPからのテストメール'; $header = "Content-Type: text/plain;charset=iso-2022-jp"; mb_language("Japanese"); if(mb_send_mail($address,$subject, mb_convert_encoding($message,"JIS","EUC-JP"),$header))←エラー行 { print("送信成功!!"); } else { print("エラー:送信失敗!!"); } ?> </body> </html> このプログラムを実行すると以下のエラーが発生します。 Warning: mb_send_mail() [function.mb-send-mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\Program Files\xampp\htdocs\top.php on line 15 参考書を見ながらプログラムを作成したのですが、記述、もしくは設定が関係しているのでしょうか。 分かる方には非常にくだらないことかもしれませんが、ご教授お願い致します。

    • 締切済み
    • PHP
  • PHP mb_send_mail メール送信 550エラー

    PHP mb_send_mail メール送信 550エラー お世話になります。 PHPにてmb_send_mail関数を使い、メール送信を行っているのですが・・・ 特定の送信先に対して以下のメールが帰ってきます。 ※相手先メールアドレスは伏せております。 件名:Returned mail: see transcript for details The original message was received at Mon, 29 Mar 2010 18:14:56 +0900 (JST) from localhost [127.0.0.1] ----- The following addresses had permanent fatal errors ----- <***@***.***> (reason: 550 Host unknown) ----- Transcript of session follows ----- 550 5.1.2 <***@***.***>... Host unknown (Name server: ***.***.: host not found) 送信先のメールアドレス自体は存在しておりますが、mb_send_mailを使っての送信が失敗します。 また、全てのアドレスで上記のエラーが発生するというわけではないようです。 これを正常に送信させるにはどのようにすればよろしいでしょうか・・? ご回答よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHP4.4.1でmb_send_mailの送信エラーについて

    mb_send_mailでメール送信しているのですが、 メールアドレスが存在しなかった場合に、エラーを表示したいのですが、そんなことは可能でしょうか?

    • ベストアンサー
    • PHP
  • mb_send_mail について

     お世話になります。 Linux1.3 + Qmail の構成のメールサーバーとApache1.3+php4の Webサーバーのphp からmb_send_mail関数でメールを飛ばしても受信できません(エラーも出ません) yahooメールなど他のところへは問題なく飛ばせるのですが 同じネットワーク内のドメインに対してはメールが出せない状態です。 メールソフトからの送信では問題ありません。 何か解決法はありますでしょうか?

    • 締切済み
    • PHP
  • mb_send_mailでつまづいています

    $jimu_mail="hoge@hogehoge.com"; $return_path = '-f'.$jimu_mail; $rcd = mb_send_mail($mlto, $mlsb, $mlms, $mlfr, $return_path ); という記述があるのですが、mb_send_mailの5番目のパラメータの「$return_path」の部分がどういう働きをもつのか良く分からないのです。 PHP公式サイトのマニュアルには 「MTA のコマンドラインパラメータです。sendmailを使用する場合に正しいReturn-Pathを設 定する場合に便利です」 とありますが、正直言っている意味がわかりません・・・。 実は、以上の状態ですと、メール送信されなかったのですが、2行目を $return_path = $jimu_mail; と、'-f'を取り除いたら送信できるようになりました。 これらについて、 どうして「-f」を取り除いたら送信できるようになったのか、 また、マニュアルにある 「MTA のコマンドラ インパラメータです。sendmailを使用する場合に正しいReturn-Pathを設 定する場合に便利です」の 意味することを解説してくださる方がいらっしゃればとっても助かります。 よろしくお願いします。 環境はPHP Version 4.3.4 Apache/1.3.29 (Unix) です

    • ベストアンサー
    • PHP
  • mb_send_mailでのメール送信がエラーしてしまいます。

    PHPを独習しています。 mb_send_mailでのメール送信でつまづいてしまっており、 ご回答いただければ幸いです。 mb_string等の設定は正常に出来ていると思うのですが、 下記のとおり、mailserverに接続できない旨のエラーが 表示されてしまいます。 ●エラー本文 Warning: mb_send_mail() [function.mb-send-mail]: Failed to connect to mailserver at "(契約サーバー)" port 465, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\Program Files\Apache Group\Apache2\htdocs\sample\Part4\4-8\4-8-1.php on line 11 ●PHP本文 $mailto = "(自分のアドレス)"; $subject = "test"; $content = "本文test"; $mailfrom = "From:aaaa@bbb.ccc"; $mailfrom="From:" .mb_encode_mimeheader("木村") ." <ddd@eee.fff>"; if (mb_send_mail($mailto,$subject,$content,$mailfrom)){ echo "送信成功"; }else{ echo "送信失敗"; もしお分かりになる方がいれば、 どうかご教授のほど、よろしくお願いします。

    • ベストアンサー
    • PHP
  • phpでmb_send_mailを用いてメールの送信を試みておりますが、うまくいきません

    phpでmb_send_mailを用いてメールの送信を試みておりますが、うまくいきません。 php.iniの現時点における設定は、以下の通りです。 [mail function] ; For Win32 only. ;SMTP = localhost ;smtp_port = 25 ; For Win32 only. ;sendmail_from = ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). sendmail_path = "sendmail -t -i" mbstring.language = Japanese mbstring.internal_encoding = UTF-8 mbstring.http_input = auto mbstring.http_output = UTF-8 mbstring.encoding_translation = On mbstring.detect_order = auto mbstring.substitute_character = none; mbstring.func_overload = 0 ;mbstring.strict_encoding = Off なお、phpのスクリプトでは、mb_send_mail関数を呼ぶ直前に、  mb_language("ja");  mb_internal_encoding("utf-8"); を実行しております。 また、html部では、<meta…タグにおいて、charset=UTF-8の宣言を行い、 このhtml部を含むphpファイルは、文字コードUTF-8にて格納し直しました。 原因をいろいろ探ったのですが、自力では無理のようです。 原因と考えられる点をどうか教えて頂くようにお願い致します。

    • ベストアンサー
    • PHP
  • PHP でmb_send_mailが上手くいかない

    PHP初心者です。現在、自分のパソコンにXAMPPをインストールして、 Apacheを起動し、PHPのサンプルを勉強しいています。 mb_send_mail自体はTRUEで返ってくるのに、メーラーには何も届きません。 書籍やネットにあったサプルをいろいろ調べたのですが、 みな、同じ現象です。 php.iniの設定は下記の通りです。(phpは5.4.7) [mail function] ; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury SMTP = localhost smtp_port = 587  <----25にしても変わりませんでした。 ; For Win32 only. http://php.net/sendmail-from sendmail_from = postmaster@localhost PHPのソース <?php mb_language("Japanese"); mb_internal_encoding("UTF-8"); if (mb_send_mail("cy0***@md.point.ne.jp", "テストメール", "これはテストです。", "From: chibikind***@yahoo.co.jp")) { echo "メールが送信されました。"; } else { echo "メールの送信に失敗しました。"; } ?>

    • 締切済み
    • PHP