- ベストアンサー
sendmail→携帯メールの遅延
初心者ながら自宅サーバを構築しているhiroshi_dogと申します。よろしくお願いします。 CentOS3.7上でsendmailを動かしています。 ドメインはDDNS+DiCEの半オリジナルです。 sendmailの設定終了後、動作検証として以下のことを試しました。 ・内部/外部で同一ユーザ同士でメールの送受信 ・内部/外部で他ユーザ間でメールの送受信 ・内部/外部でプロバイダのメールアドレスとの送受信 ・内部/外部で携帯との送受信 ※内部とはサーバと同一LAN内のパソコン、外部とはインターネット経由でサーバにアクセスする友人宅パソコンなどです。 しかし、内部/外部から携帯に送信する場合だけ、30分~7時間程度の遅延を伴います。(携帯から半オリジナルアドレスに送信するときは遅延なく届きます) ただし、3~5通に1通くらいの割合(ランダム?)で普通に遅延なく届くこともあります。 携帯キャリアはvodafoneで、この内容について問い合わせたところ「特定のIPアドレスに対して、拒否や優先順位の設定は行っていない」とのことでした。 また、検証に使用した携帯アドレスには受信拒否などの個人設定はしていません。 ネット上で検索したところ、「sendmailやqmailでは携帯への送信に遅延が発生しがち」という記述をいくつか見つけました。また、そのsendmailなどの携帯への遅延を解消するシステムを開発し、商売にしている会社もあるようです。 …ということは、設定や環境などの問題ではなく、sendmailを使用する以上、仕方ない問題なのでしょうか。 私のサーバは学習のための環境で、実用しているわけではないので、現状で支障はありません。納得したいだけの質問で申し訳ないのですが、ご教示いただければ幸いです。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
基本的にはメールにリアルタイム性を求める方がおかしいですね。遅延・不着は考慮するべきですので。 http://bb.watch.impress.co.jp/cda/shimizu/11068.html http://www.aconus.com/~oyaji/faq/postfix_faq3.htm 多分、プロバイダのSMTPを使用すれば遅延はなくなるんじゃないでしょうか?迷惑メール対策の一環として動的IPからのSMTPを携帯キャリア側で制限しているか、ISPで25番ポートのアウトバウンドトラフィックを制限しているのでしょう。
その他の回答 (5)
- qaaq
- ベストアンサー率36% (146/404)
単に、vodafoneのサーバの処理不足でしょう。 昔からvodafone宛のメール遅延は出ていますよ。 特に、インターネット→携帯の遅延が大きいですね。 具体的には、遅延発生時にvodafoneのMailサーバのSMTPポートにTELNETすると、 "421"送り返して来てすぐにコネクションが切られて送信できません。 (本来はここで、メール送信シーケンスが始まる) 相手側の問題なので、たいした事はできませんが、 放置して再送するのを待つか、 sendmail -qf で強制的にキュー処理をさせるぐらいでしょう。 # ソフトバンクはどこまで改善するのか楽しみですな。
お礼
ご回答ありがとうございます。 確かに他キャリアの携帯を持つ友人に比べて…という経験は何度もありますねー。 ただ、今回は検証の一環として、プロバイダメール→携帯のメール送信(自宅サーバ関係なし)も行ったのですが、こちらは毎度スムースでした。(最初の質問にこのこと書いてないですね。すいません) 相手側の問題と言うことがわかっただけでもスッキリです! 「sendmail -qf 」というコマンドがあるんですね。あんまり乱発すると相手のサーバがかわいそう?なので、一度だけ実験してみたいと思います(^^;)
- kome-maro
- ベストアンサー率20% (29/145)
ISPはスパム対策でport25を規制しているところが多々あります。大手ISPはすべてと思っていいでしょう。 規制のきついところは、すべてのport25を、フィルタされます。ゆるいところでも、携帯宛のみ規制しているところがあります。 sendmailなら中継サーバーが設定できますので、プロバイダのメールサーバを中継するように設定すれば、問題は解決します。 一度お試しください。
お礼
ご回答ありがとうございます。 …確かに私の携帯にも連日スパムが入りますねー。それでも規制されている結果なのですから、規制がなかったらきっともっと大変なことになっているのでしょうね。知りませんでした! 中継サーバを設定しても改善されないようなら、プロバイダに問い合わせ(またはFAQの検索)をしてみたいと思います。
- a-saitoh
- ベストアンサー率30% (524/1722)
ログに、 delay=00:00:00, xdelay=00:00:00, mailer=esmtp, (略) stat=Deferred: 421 と、出ているのですから、携帯会社のSMTPサーバに正常に接続できた上で、先方からコード421が帰ってきています。 421 は、「 Service not available, closing transmission channel」です。 ということは、これは先方の問題ですね。 SMTPサーバが過負荷で受け取れないのか、あるいは何かの流量制限をかけているのかは分かりませんが。 sendmailが再送を試みる間隔を縮めれば多少は遅延が改善しますが、お勧めしません(本当に過負荷で困っているSMTPサーバにとってはそれは迷惑ですので)。
お礼
ご回答ありがとうございます。 「stat=Deferred: 421」は受信側SMTPサーバが出しているんですね。 「stat=Deferred: 421」がどういう意味か…を記述したサイトなどはけっこうたくさんあったのですが、私が探す限りではどういう契機でどこから出される…というところを記述したサイトは見つかりませんでした。 教えていただき、助かりました! メールサーバ含め、サーバ全体が実用ではなく、学習環境なので、再送を試みる間隔を縮めたりはしないつもりです(^^)
- yambejp
- ベストアンサー率51% (3827/7415)
ご利用のispがスパム対策として制限をかけている のかもしれません。
お礼
ご回答ありがとうございます。 …なるほど! 送信側と受信側のサーバについての視点しかもちあわせておりませんでした。 プロバイダのQ&Aを調べてみるなりしてみたいと思います。
- FoggyMountain
- ベストアンサー率21% (79/372)
ログファイルは確認したのですか? キューは確認したのですか? 本当にあなたのSendmailが遅延しているのですか?
補足
ご回答ありがとうございます。 説明が稚拙で申し訳ありません。 /var/log/maillogの内容は確認しました。(以下に記します) May 24 23:07:05 hostname sendmail[31328]: k4OE750L031328: from=<mydomain@mymailserver.jp>, size=477, class=0, nrcpts=1, msgid=<XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX@XXXXXX>, proto=ESMTP, daemon=MTA, relay=[192.168.0.2] May 24 23:07:05 hostname sendmail[31330]: k4OE750L031328: to=<XXXXXX@t.vodafone.ne.jp>, ctladdr=<mydomain@mymailserver.jp> (504/504), delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=30477, relay=mx.t.vodafone.ne.jp. [210.169.176.59], dsn=4.0.0, stat=Deferred: 421 May 24 23:30:51 hostname sendmail[31344]: k4OE750L031328: to=<XXXXXX@t.vodafone.ne.jp>, ctladdr=<mydomain@mymailserver.jp> (504/504), delay=00:23:46, xdelay=00:00:00, mailer=esmtp, pri=120477, relay=mx.t.vodafone.ne.jp. [210.169.176.59], dsn=4.0.0, stat=Deferred: 421 May 25 00:30:51 hostname sendmail[31430]: k4OE750L031328: to=<XXXXXX@t.vodafone.ne.jp>, ctladdr=<mydomain@mymailserver.jp> (504/504), delay=01:23:46, xdelay=00:00:00, mailer=esmtp, pri=210477, relay=mx.t.vodafone.ne.jp., dsn=4.0.0, stat=Deferred (中略) May 25 06:30:52 hostname sendmail[11256]: k4OE750L031328: to=<XXXXXX@t.vodafone.ne.jp>, ctladdr=<mydomain@mymailserver.jp> (504/504), delay=07:23:47, xdelay=00:00:00, mailer=esmtp, pri=750477, relay=mx.t.vodafone.ne.jp. [XXX.XXX.XXX.XXX], dsn=2.0.0, stat=Sent (Message received: 20060524XXXXXXXXX.XXXX.XXXX@XXXXXXXXXXXX.t.vodafone.ne.jp) また、遅延中は/var/spool/mqueue以下に送信したメールが存在します。 よって、送信側のサーバ(私のサーバ)から携帯キャリアのメールサーバへの発信が遅れているようです。
お礼
ご回答ありがとうございます。 >基本的にはメールにリアルタイム性を求める方がおかしいですね。遅延・不着は考慮するべきですので。 そのとおりなんですけど、携帯以外への送信に遅延が発生していないことと、手探りでのサーバ構築ということもあり、自分の設定に問題があるのではないかときになってしまいました。 25番ポートのアウトバウンドトラフィックの情報、ありがとうございます。目からうろこです! この後、OpenSSLを適用して465番ポートを使用する予定なので、それで検証ができそうです。 補足ですが、ORDBには登録されていません。 (調査に合格しました)
補足
OpenSSLを適用しました! …が、よく考えたら使うポートが変わるのってパソコン(メールソフト)←→メールサーバ間だけであって、送信側メールサーバと受信側メールサーバの間は相変わらずなんですよね…。 …というわけで、検証の意味合いはありませんでしたorz