• ベストアンサー

sendmailのエラー処理につきまして

sendmailのバージョンはsendmail_8.9.3です sendmail.cfにて 1. O PostMasterCopy=postmaster とした場合、postmasterにはsendmailにて発生した全てのエラー内容は送信されるのでしょうか 2. Ruleset 0 にて R$*<$*:$*>$* $#error$@5.1.1$: Illegal colon in host name part 等と定義していますが、その場合のメール送信先は未定義ですよね? 一体誰に配信されるのでしょうか 3. 基本的にpostmasterと一般ユーザーでは通知されるエラーメールの 種類に違いがあるのでしょうか sendmail解説を読みましたが、記述されていませんでした (見逃したかも....) 宜しくお願い致します

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

  • ベストアンサー
回答No.2

sendmail を普通に設定すると(つまり、Oなんちゃらを変に設定し なければ)、エラーをちゃんと返せる限り、発信元もしくは Errors-To:フィールドの値のところだけにエラーメールが行きます。 もし返すところがみつからないと、MAILER-DAEMON にエラーが行き ます。この値は Dn で変更できます。通常は、MAILER-DAEMON は postmaster に alias されていると思います。 O PostMasterCopy は、その既定動作を変更して、発信元に返すだ けでなく postmaster にもエラーを送るということです。ただし、 最近の普通の sendmail なら、プライバシーを守るために、エラー したときのボディ部は postmaster には行きません。

kasago
質問者

お礼

そうゆうことですね!!くっきり・はっきり理解しました はー。すっきりしました 大変有り難う御座いました。厚くお礼申し上げます。

その他の回答 (1)

  • h_hikita
  • ベストアンサー率40% (104/257)
回答No.1

 5年前くらいにsendmail.cfを書いて以来、一から設定していないので、間違ってたらごめんなさい。 1. 多分 postmasterにコピーが届きます。場合によっては内容も届くのでいまいち困ったものかもしれません。(postmasterのモラルが問われる) 2. クライアントからsmtp接続が確立されHELOでホスト名を名乗りあったあとで送信先を RCPT何たらで指定しますがその時点でエラーになるのでそもそも本文は受信されてないです。故に、返信する内容もない。しいて言うなら、localのメーラか、PC上のメールソフトで送れなかったとエラーを表示するのだと思います... 3. 設定によるかと思います。 sendmail.cfは難解なのでsendmail -bt とかでテスト してみるのが良いかと思います。

kasago
質問者

お礼

有り難うございました 2. につきましてですが、 私の質問の仕方に問題がありました。申し訳有りません。 Ruleset 0 部分のエラー配信記述は、ローカルで解決すべき問題ですよね? それは、メール送信者にのみエラー通知されると思いますが、以外の部分 例えば sendmailが空いてサーバにSMTP接続しにいった時 Rejectされた場合は送信者にのみ、 送信先のメールアドレスが存在しない場合は送信者とpostmasterへ といった具合(わたしが知っているのはそんなレベル) ですが、どういうエラーが発生したら誰へエラーメールが配信されるのか、cfでは書いていませんよね? そこが一体どうなっているのであろうかと.... 若しご存知であれば、ご教授くださいませ 宜しくお願い致します

関連するQ&A

  • sendmailでのエラーメールの処理について

    sendmailでpostmasterあてに、すべてのエラーメールを転送させるにはどのようにするのでしょうか? (host unknownは転送できますが、user unknownは送信者にしか戻りません。 どなたかご存知の方は教えてください。

  • Sendmail、エラーメールの制御(500系)

    現在Sendmailでメールサーバを構築しております。 その中で、メールを後段メールサーバへリレー(SMART_HOST)しようとした場合、 サイズ超過により、500系のエラーが返却されてきました。 今回構築したSendmailで、エラーメールを送信者へ返却しようとした場合、 エラー発生した元メールを添付して送信しようとしてしまい、同様にサイズ超過となり、 エラーメールを通知できず、ローカルへ落ちてしまい送信者から見ると、メールが 消えたように見えてしまいます。 そこで、500系を後段メールサーバより受け取った場合、元メールを添付せずに エラー発生事実だけを送信者へ伝えたいと思うのですが、その設定が見当たりません。 方法をご存知のかたや、設定方法を知っておられる方は是非教えていただければと思います。 よろしくお願いいたします。

  • sendmailについて

    sendmailで送信に失敗した際にメールスプールに保存されますが、その後の処理はどうなるのでしょうか? 動作の全体像が知りたいです。 あて先に送信されない場合は送信元に戻されるのでしょうか? 送信元も戻せない場合はどうなるのでしょうか? あと、設定はsendmail.cf?ですべて記述するのでしょうか? 変更した後、有効にさせる方法も教えて欲しいです。 sendmailでバイブルといわれる本をご存知の方もお願いいたします。

  • SendMailがエラーを返さない

    VBでBSMTP.DLLのSendMailを使ってメール送信するプログラムを使っています。 相手先アドレス不正などの場合は、SendMailの戻り値でエラーを識別できるのですが、正常終了しているにも関わらずそのメールが相手先に到着しないという現象が出ています。 原因として、どういうことが考えられるでしょうか? 心当たりのある方がいらっしゃいましたら、ご指導をお願いいたします。 ret = SendMail(SMTP_SVNm, szTo, szFrom, szSubject, szBody, szFile) If Len(ret) <> 0 Then MsgStr = "送信エラー" Else MsgStr = "送信完了" End If

  • sendmailのサーバ名を変えたい

    sendmailのサーバ名を変えたいとおもっていますが、 sendmail.cfの何処をいじればいいでしょうか。 現在はシェル上でhostnameで表示されるホスト名で送信しています。 また、メールアドレスによって、hostnameを変えることはできるのでしょうか。 というのもメールのfromとメールサーバドメイン名が違うことで携帯などにメールを送信するときエラーと返されてしまうことがあります。 よろしくお願いいたします。

  • mb_sendmailのエラーについて質問です。

    mb_sendmailのエラーについて質問です。 mb_sendmailでメールを送信する際に、 $re = mb_sendmail(…); という使い方をして、$reでメールの送信の成功と失敗を見分けようとしましたが、$re自体にはPHPの機能としての返り値はあるものの、実際にメールが届いたか届かなかったかの判断はできませんでした。例えばメールアドレスが間違っていたりして実際にメールが届いていない場合などはそのエラーをどういう風に拾えばよいでしょうか? PHPは自体は非常に安定しているので mb_sendmailでエラーが返ってくるようなことは殆どありませんが、メールそれ自体が届かないということは比較的たくさんあります。 そのようなエラー情報を取得するにはどうしたらよいでしょうか? 現在、Ubuntu 9.10で自前の送信メールサーバー(Postfix)とLAMP環境で開発しております。 よろしくお願いします。

    • 締切済み
    • PHP
  • sendmailでローカルサーバ外にメールが送信できない

    Solaris10のデフォルトでインストールされている/usr/lib/sendmailで ローカルサーバ外にメールを送信することができません。 宛先をローカルサーバ内のアドレスにした場合、問題なくメールを 送信できるのですが、ローカルサーバ外のアドレスを指定すると、 メールが送信できません。 /var/log/syslog を確認したところ、以下のメッセージが 出力されていました。 --- Feb 4 12:12:02 ホスト名 sendmail[25774]: [ID 801593 mail.info] n1434WdZ025772: to=<外部アドレス>, delay=00:07:30, xdelay=00:07:30, mailer=esmtp, pri=120373, relay= mailhost, dsn=5.1.2, stat=Host unknown (Name server: mailhost: host not found) Feb 4 12:12:02 ホスト名 sendmail[25774]: [ID 801593 mail.info] n1434WdZ025772: n143C2dZ0257 74: DSN: Host unknown (Name server: mailhost: host not found) --- エラーではmailhostがないというようなメッセージがでています。 当サーバとほぼ同じネットワーク設定をしたSolaris9のサーバでは 問題なくメールが送信できていますが、Solaris10の場合はこのmailhostの 設定が必要なのでしょうか?

  • sendmailの送信ができません

    Linuxもsendmailも初心者です。 Red-HutLinux7.3のマシンで、ダイナミックDNSドメインを取得し、入門書に従って、メールの送信まで可能な状態までsendmailの設定をしました。 テストでプロバイダのアドレスに送って、別のPCで受信しようとしたのですが、メールがきていませんでした。 そこでsendmailの再起動やネットワーク設定を見直していたところ、一旦はテストのメールが 受信できました。しかし、その後もう一度テストメールを送信したところ、 また受信されなくなってしまいました。 /var/log/maillogを見たところ、一旦受信できた後またできなくなった部分には、「host name lookup failure」と記述されていました。 sendmailのバージョンは、8.11.6です。 何が原因なのでしょうか。お分かりになる方がいらっしゃいましたら、宜しくお願い致します。

  • sendmail の設定

    ご存知の方ご教示ください。 OS:Red Hat9 sendmail-8.12.8-4 今まで普通に送受信できていたのですが、あるアドレスに空メールを送った直後、送信が拒否されてしまいました。 ログをみるとどうやらスパム扱いされて、どこかのファイル(推測ですが)に登録されてしまったのではと思っております。 <抜粋> ruleset=check_rcpt reject=550 5.7.1 Relaying denied. IP name lookup failed よくわかりませんが、check_rcptではねられてしまっているのでしょうか? どうぞよろしくお願いいたします。

  • sendmail 送信エラーについて

    RedhatES4.5 sendmail-8.13.1-3 メールの送信テストを行っております。 あるドメイン宛てへのメールの送信テストをしています。 アカウントが存在しないメールアドレス宛て (送信先は管理外ドメイン)への、メールのを送信した際に 送信元メールサーバーのエラーで不可解な動作をしております。 原因がわかるかたがおりましたら、ご教授ください。 送信アドレスは毎回同じ testtest@xxxx.xx.xx 相手先にメールボックスが無いので、エラーで戻されるのは理解できるのですが 以下の2通りのエラーが出ます。 1.dsn=5.0.0, stat=Service unavailable 2.said: 554 Sorry, no mailbox here by that name. (#5.1.1) (in reply to RCPT TO command) 2は理解できるのですが、なぜ1のエラーで戻される場合があるのかが不明です。 ちなみに、存在するアドレスへは正常に送信出来ております。