• 締切済み

sendmailでメール送信が遅延してしまいます

こんにちは、はじめて投稿させていただきます。 当方、Solaris上でsendmailを立ててメールサーバとしていますが、ユーザから「メールが2~3日送れて届く」と苦情が来てしまいました。 sendmailのログを確認したところ、遅延しているメールには "dsn=4.0.0, stat=Deferred: Connection reset by <送信先ドメイン名>" とのログが残っています。 この場合sendmailは一定間隔で再送を繰り返し、何回かリトライした後に送信されております。 平均すると送信を開始してから1.5日後位に届いております。 すべてのメールが遅延しているというわけではなく、すぐに届くメールも存在します。 これは何が原因なのでしょうか? 何かお心当たりのある方、アドバイス頂けると幸いです。

みんなの回答

回答No.2

最近のメイル配信は直接配送を行うのが一般的です。 つまりメイルで遅延が起きる主な原因は 1、自分のサーバーがあやしい 2、送り先のサーバーがあやしい 3、伝達経路での回線があやしい になろうかと思います。 メイル送信時に、DNSでちゃんとホストとIPアドレスの解決できているのかも疑問に思います。 つまりSendmailのログだけではなく システムに残るその他のログも必要になってきます

yossie8723
質問者

お礼

ご回答ありがとうございます! その後いろいろと試してみました. 送り先のサーバに付いては、pingもちゃんと返してくるし、telnetでポート25にもアクセスできるので特に問題はないかと。 IPアドレスの解決に付いては、nslookupで確認しました. となると自分のサーバに問題があるのでしょうかね。。。 ファイヤーウォールとか。。。 また、sendmailがIDENT要求をしないように、sendmail.cfに<Orident=0>を追加してみましたが、メール遅延に変化はありませんでした...orz

回答No.1

その情報だけではなんともいえませんが 送信状態にバラツキがあるのなら 迅速に送信できるホストとそうでないホストを 見つけ出しておくことも大事かと思います。 場合によっては相手のホストが悪いこともありますから。

yossie8723
質問者

お礼

ご回答ありがとうございます! >迅速に送信できるホストとそうでないホストを >見つけ出しておくことも大事かと思います。 それが、同じホストに対してもばらつきがあるのです。 >その情報だけではなんともいえませんが ほかにどんな情報があれば原因に近づけるでしょうか? 当方、メールの仕組みを追い始めてまだ日が浅いもので、何を手がかりに追っていけば良いか試行錯誤しております。

関連するQ&A

  • sendmailでメール送信できない

    CentOS5.2で以下のようにメールを送信しようとしたのですが、 メール送信できません。 echo "test" | /usr/sbin/sendmail -t -i aaaa@***.co.jp メールログは以下のように出力されます。 Jul 14 19:06:25 rescodev sendmail[5243]: n6E9p9uj005211: to=<aaaa@***.co.jp>, delay=00: 15:15, xdelay=00:02:00, mailer=esmtp, pri=210276, relay=mx.***.co.jp. [211.13.204.14], dsn =4.0.0, stat=Deferred: Connection timed out with mx.***.co.jp. 内部的にメールを送信しようとしても同じエラーで送信できません。 ルーターで破棄しているわけでもないようです。 調べていて気になったのが、グローバルIPが固定でないことです。 固定でないと相手方のメールサーバーに拒否されてしまうのでしょうか。 いろいろ試したのですが、未熟なせいかどうしても送信できません。 どなたか、教えていただけないでしょうか。 よろしくお願いします。

  • 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もしくは、クライアントの設定を教えてください

    sendmailもしくは、クライアントの設定を教えてください 突然、stat=Deferred: 403 4.7.0 TLS handshake failed とsendmail のログが出るようになって、特定のクライアントにメールが届かなくなりました。 OS:redhatでsendmail 8.12.11です。 ユーザ側のメーラーはbeckyなのですが、どなたかご教示頂けませんでしょうか? よろしくお願いいたします。

  • Nagiosで通知メールが送れない

    Nagiosで通知メールが送れない Fedora にNagiosをインストールして、監視サーバを構築しようとしています。 ブラウザでのアクセスができるようになりましたので、httpdあたりの設定まではうまくいったようです。 ただ、アラームメールがどうしても送れずに困っています。 maillogでは Jun 19 22:07:13 fedora sendmail[17733]: o5JBu57M017024: to=<xx@xxxxxx.co.jp>, ctladdr=<nagios@xxxx.xxxxxx.co.jp> (501/501), delay=01:11:08, xdelay=00:00:00, mailer=esmtp, pri=390743, relay=xxxxxx.co.jp. [192.168.1.2], dsn=4.0.0, stat=Deferred: Connection refused by xxxxxx.co.jp. というログが残っています。 sendmailの設定が必要なのかと思いますが、ネット上の情報等を参考にして、sendmailを再インストールしたり、設定を一からやり直したりしていますが、どうしてもだめです。 ログから判断すると、relayのところで、192.168.1.2となっているのが、気になります。 mailコマンドで送った場合のログは以下になります。 Jun 19 23:24:36 fedora sendmail[22008]: o5JEOagR022008: from=root, size=212, class=0, nrcpts=1, msgid=<201006191424.o5JEOagR022008@fedora.xxxxxx.co.jp>, relay=root@localhost Jun 19 23:24:36 fedora sendmail[22008]: o5JEOagR022008: to=xxxx@xxxxxx.co.jp, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30212, relay=[127.0.0.1] [127.0.0.1], dsn=4.0.0, stat=Deferred: Connection refused by [127.0.0.1] ちょっと違いますね・・・ どこをどう確認して、どう修正すればよいのか、アドバイスいただきたくお願いいたします。

  • Sendmailの再送間隔

    こんにちは。 Sendmailのメールの配送間隔について質問します。 サーバA、サーバBがともにSendmailで動いているとします。 サーバAからサーバBにメールを送る場合、何らかの事情でサーバBが connection refusedした場合、サーバA上のSendmailは、どのような 間隔でメールを再送しますか? 一時的エラーでなく、Refusedの場合は再送をしないということも 考えれらますか? 以上、よろしくお願いします。

  • 【sendmail】mqueueの再送について

    はじめまして。 sendmailを使ってのMTAの運用をしているのですが、sendmailの仕様でわからないことがあり困っています。 ある宛先のメールが[stat=deffered,no such file or directory ]というメールログが出力されていて、 送信できませんでした。 調べると送信先のメールサーバの負荷がそのとき高かったので送信できなかったというとはわかりました。 その時、そのメールは「mqueue」に保留されていたようです。 ただ、その宛先へ再送されたのが上記エラーが出た6日後でした。 教えていただきたいのは、 sendmailの仕様として、「mqueue」に保管されたメールの再送タイミングは、 どこか(sendmail.cf)に設定があるのでしょうか。 また、メールの再送が6日後になったことについて、考えられる原因はなんでしょうか。 一定期間で再送されるものではないのでしょうか。 当時の状況としては、 1.「mqueue」には約8000件のメールがたまっていました。 (ほとんどが送信元偽装のSPAMのリターンメール) 2.送信先サーバは、負荷が高かったようです。 教えてもらいたいことは、 1.「mqueue」の再送は、sendmail.cfに設定がありますでしょうか。 2.「mqueue」の再送は、古いものから順に再送されるのでしょうか。 3.6日間再送されなかった原因として想定されることはなんでしょうか。 4.このようなことを防止する策としてはどのようなことがあるのでしょうか。 以上、ご教授いただけると幸いです。宜しくお願いします。

  • /var/log/maillog について

    Red Hat Linux 8.0とsendmailとqpopperを使用してメールサーバーを構築しています。 /var/log/maillogに1時間に一回、200行ほどのログが一気に書き込まれ ログの容量が肥大化して困っています。 ログの一部は Feb 6 21:14:01 xxxx sm-msp-queue[680]: h15L4fBd004705: to=root, delay=15:09:16, xdelay=00:03:09, mailer=relay, pri=121617, relay=[localhost] [1.0.0.127], dsn=4.0.0, stat=Deferred: Connection timed out with [localhost] Feb 6 21:14:01 xxxx sm-msp-queue[680]: h15L4fBe004705: to=root, delay=15:09:15, xdelay=00:00:00, mailer=relay, pri=121617, relay=[localhost], dsn=4.0.0, stat=Deferred: Connection timed out with [localhost] Feb 6 21:14:01 xxxx sm-msp-queue[680]: h15L4fBf004705: to=root, delay=15:09:15, xdelay=00:00:00, mailer=relay, pri=121617, relay=[localhost], dsn=4.0.0, stat=Deferred: Connection timed out with [localhost] Feb 6 21:14:01 xxxx sm-msp-queue[680]: h15L4fBg004705: to=root, delay=15:09:15, xdelay=00:00:00, mailer=relay, pri=121617, relay=[localhost], dsn=4.0.0, stat=Deferred: Connection timed out with [localhost] Feb 6 21:14:01 xxxx sm-msp-queue[680]: h15L4fBh004705: to=root, delay=15:09:15, xdelay=00:00:00, mailer=relay, pri=121617, relay=[localhost], dsn=4.0.0, stat=Deferred: Connection timed out with [localhost] Feb 6 21:14:01 xxxx sm-msp-queue[680]: h15L4fBi004705: to=root, delay=15:09:14, xdelay=00:00:00, mailer=relay, pri=121617, relay=[localhost], dsn=4.0.0, stat=Deferred: Connection timed out with [localhost] このような感じです。どすれば止まるでしょうか? 困っています、教えて頂けませんか。 (xxxxは自分の設定したドメインの頭です xxxx.ne.jp)

  • googleからメールリレー?

    centOS上でsendmailを使っているのですが、googleにメールが送信できなくなったのでログを見たところ、以下のようなログが大量に残っておりました。 A)送信失敗のログ(googleのブラックリスト入り?) Apr 12 16:36:48 ****** sendmail[30748]: r3C5Auuw004157: to=<******@gmail.com>, ctladdr=<mail@******.com> (8/12), delay=02:25:52, xdelay=00:00:02, mailer=esmtp, pri=572773, relay=alt4.gmail-smtp-in.l.google.com. [173.194.73.26], dsn=4.0.0, stat=Deferred: 421-4.7.0 [***.***.***.***] Our system has detected an unusual amount of B)googleからのリレー? Apr 12 18:17:13 ****** sendmail[8443]: r36Hgv7Y028734: to=<******@gmail.com>, delay=5+15:34:15, xdelay=00:01:59, mailer=esmtp, pri=2469474, relay=gmail-smtp-in.l.google.com. [74.125.129.26], dsn=5.1.1, stat=User unknown 多分Bのせいでgoogleに規制されたではないかと思っているのですが、 relay=gmail-smtp-in.l.google.com というのがどうにも解せません。 これってgmailのサーバがこちらのメールサーバにアクセスしてメールを送信しようとしている意味ですよね? しかもUser unknownで失敗しています。 これはいったいどういう意味なのでしょうか? そもそもログの意味を勘違いしているのでしょうか? アドバイス頂けると助かります。 よろしくお願い致します。

  • sendmail→携帯メールの遅延

    初心者ながら自宅サーバを構築しているhiroshi_dogと申します。よろしくお願いします。 CentOS3.7上でsendmailを動かしています。 ドメインはDDNS+DiCEの半オリジナルです。 sendmailの設定終了後、動作検証として以下のことを試しました。 ・内部/外部で同一ユーザ同士でメールの送受信 ・内部/外部で他ユーザ間でメールの送受信 ・内部/外部でプロバイダのメールアドレスとの送受信 ・内部/外部で携帯との送受信 ※内部とはサーバと同一LAN内のパソコン、外部とはインターネット経由でサーバにアクセスする友人宅パソコンなどです。 しかし、内部/外部から携帯に送信する場合だけ、30分~7時間程度の遅延を伴います。(携帯から半オリジナルアドレスに送信するときは遅延なく届きます) ただし、3~5通に1通くらいの割合(ランダム?)で普通に遅延なく届くこともあります。 携帯キャリアはvodafoneで、この内容について問い合わせたところ「特定のIPアドレスに対して、拒否や優先順位の設定は行っていない」とのことでした。 また、検証に使用した携帯アドレスには受信拒否などの個人設定はしていません。 ネット上で検索したところ、「sendmailやqmailでは携帯への送信に遅延が発生しがち」という記述をいくつか見つけました。また、そのsendmailなどの携帯への遅延を解消するシステムを開発し、商売にしている会社もあるようです。 …ということは、設定や環境などの問題ではなく、sendmailを使用する以上、仕方ない問題なのでしょうか。 私のサーバは学習のための環境で、実用しているわけではないので、現状で支障はありません。納得したいだけの質問で申し訳ないのですが、ご教示いただければ幸いです。

  • sendmail メール送信完了ステータスの受け方

    環境は、レンタルサーバで、各機能のバージョンは以下の通りです。 Apache/1.3.41 Ben-SSL/1.59 (Unix) Perl v5.6.1 built for i386-freebsd Version 8.13.1 現在、「sendmail -t」にて複数のメールを送信していますが、サーバの負荷によりsendmail処理が遅延し、そのプロセスが終了する前に次の新たなSendmailコマンドを発行すると rejecting commands from localhost [127.0.0.1] due to pre-greeting traffic で強制終了されてしまいます。 sendmailをcloseしてから、数秒タイムラグを置いてみても、サーバ負荷の遅延がタイムラグより大きくなる事があるようで困っています。 そこで、メールが送信終了(sendmailが送信プロセスを終了)した事を確認してから、次の処理に進みたいと考えていますが、perlプログラム内で終了ステータスを受ける事が出来るのでしょうか? その他、強制終了を防ぐ方法がありましたらアドバイス願います。 ちなみに、レンタルサーバ業者にsendmail送信件数上限を確認した所、150件/分との事でした。 現在、10件/分程度の送信間隔としていますので、上限閾値を超えているような送信はしていないと思います。

    • ベストアンサー
    • Perl