mb_send_mailを使って、PHPからメールを送信しています。

この時、送信先アドレスが間違っていた場合、その旨のエラーメールを受信したいのですが、うまくいきません。

メールソフトから存在しないアドレスに送信した場合、送信元に「MAILER-DAEMON」からエラーメールが届くのですが、mb_send_mailで送信すると「From:」に指定したアドレスにエラーメールが届きません。
原因は何でしょうか?
また、メールソフトから送信した場合と同じように、「MAILER-DAEMON」からのエラーメールを受信する方法はありますでしょうか?

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2010/06/13 13:40:49
  • 終了:2010/06/13 16:49:46

ベストアンサー

id:Bombastus No.1

ホーエンハイム回答回数409ベストアンサー獲得回数522010/06/13 14:26:07

ポイント75pt

mb_send_mailの第5引数に Return-Path を設定します。

つまり、下記のようにします。


$tomai = 送信先メールアドレス

$subject = 件名

$message = 本文

$header = "From: 送信元メールアドレス"

$param = "-f送信元メールアドレス"

mb_send_mail($tomail, $subject, $message, $header, $param);
id:dy7

教えていただいた方法でうまくいきました。

本当にありがとうございました。

2010/06/13 16:47:14

その他の回答(1件)

id:Bombastus No.1

ホーエンハイム回答回数409ベストアンサー獲得回数522010/06/13 14:26:07ここでベストアンサー

ポイント75pt

mb_send_mailの第5引数に Return-Path を設定します。

つまり、下記のようにします。


$tomai = 送信先メールアドレス

$subject = 件名

$message = 本文

$header = "From: 送信元メールアドレス"

$param = "-f送信元メールアドレス"

mb_send_mail($tomail, $subject, $message, $header, $param);
id:dy7

教えていただいた方法でうまくいきました。

本当にありがとうございました。

2010/06/13 16:47:14
id:koriki_kozou No.2

小力子象回答回数78ベストアンサー獲得回数22010/06/13 15:13:27

ポイント5pt

sendmailラッパーを使っているだけなのでは。

メールサーバーがXmailとのことなので、PHPから見てラッパーが何であっても、やはりXmailが使われます。

で、エンベロープというのは言わば郵便手紙でいうところの封筒のようなものです(語弊があるかもしれませんが)。メールヘッダーではなく、送信時に付加されるもので、送信者などが記載されます。

おそらく、エラーメールの行き先、というよりデフォルトの送信者を、Xmailの設定で確認するのが早道だと思います。

id:dy7

回答ありがとうございます。

ただ、回答の意図がよく分かりませんでした。。。

2010/06/13 16:48:57

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません