PMailServer から配信が正しく行われない場合の専用FAQ
Lastupdate 2006/06/26
(C) 2006 A.K.I Software all rights reserved.
PMailServer から配信を行う場合は SMTP では無く、MTA のログに分けて記録が行われます。
配信が正しく行われない場合は、MTA のログレベルを3にしてから実際に配信を行って MTA のログを確認してください。
MTA のログが無ければご質問頂いてもご返答することができません。
配信ができない主な原因として以下の点が考えられます。
●MTA が有効になっていない。
PMailServer の MTA を有効にしてください。
●外部への配信が許可されていない。
外部への配信が許可されていない場合、以下の原因が考えられます。
Outbound Port 25 Blocking(以下OP25B)の影響を受けている。
メールサーバを設置しているネットワークで OP25B が実施されている場合、メールサーバ自身で配信ができないことがあります。
OP25B の説明は PMailServer のユーザーマニュアルにも詳しく記載しておりますが、無条件又は条件付きで外部へのメールの配信を制御する仕組みです。主に spam やウィルス・ワームメールを防止する為に ISP 側で導入されています。
無条件に配信を制限されている場合は、自サーバからメールの配信を直接行うことはできません。必ず指定されたメールサーバへ中継(転送)を行う必要があります。
条件付きは、特定のドメイン(携帯メール等)に限って制限があり、それ以外の場合は制限が無い場合です。
この場合はサーバ本体の転送機能を使い、特定のドメインへ配信を行う場合にのみ、指定されたメールサーバへ中継(転送)を行い、それ以外は自サーバから配信を行います。
もし OP25B の影響を受ける場合に指定されたメールサーバが無い場合は、その回線ではメールサーバの構築が許可されていないと思われます。
メールサーバの構築が許可されていない場合のケースで OP25B が実施されている場合に指定されたメールサーバがあり、そこへ転送をしても配信ができない場合があります。これは送信者のメールアドレスを確認して指定されたメールアドレス以外は配信ができないように制限されている為です。
ご利用されている回線(又はご利用予定の回線)でメールサーバの構築ができるかどうかを確認してください。
サーバ機にインストールされているファイヤウォールやアンチウィルス系ソフト、ルータでのファイヤウォールで外向きのポートが塞がれている
メールサーバは基本的にSMTPポート(25番)とPOP3ポート(110番)、場合によっては Submission-SMTPポート(587番)や SMTP over SSLポート(443)を開いて待機します。
一般的なファイヤウォールソフトやアンチウィルスソフトはインストールされているPCでこれらのポートが開いている場合に明示的に通信の許可を与えないとメールサーバ自身の通信をブロックする場合があります。
これはメールサーバが悪いなどでは無くサーバ機以外でこれらのポートを開いておく必要が無いからです。逆に設定が無いにも関わらずこれらのポートが開いている場合は Zombie PC(ゾンビPC、spam メールやウィルス・ワームメールを送信する際の踏み台として使われているPC)として悪用されている場合があるからです。
また許可を行っていた場合でもバージョンアップによりファイルが変更された場合、再度登録が必要になる場合もあります。
ルータの場合は配信ではありませんが、外からのSMTP/POP3 ポートをデフォルトで閉じている場合があります。この場合、配信はできるが受信ができないなどの状況になる場合があります。
●相手側サーバが落ちている、又は過負荷状態。
まず、PMailServer のMTA のログを見て頂いて発生するのが特定のサーバのみに発生するか?又は何度も配信に失敗しているかを確認して下さい。
どんなメールサーバでも同時に接続できる数に制限があります。またサーバに多くのメールが届いており処理が過負荷状態になっている場合もあります。
メールサーバでメールの送信を受け付けるSMTPポートがありますが、これは「ユーザーからのメールを受け付けるポート」と同時に「外からのメールを受け付けるポート」両方を兼ねています。
メールサーバは SMTP ポートから受け取ったメールの宛先がローカルアドレスであれば自サーバのメールボックスに保存し、外部アドレスであれば配信を行います。
メールサーバの同時接続数が50に制限されている場合に「ユーザーからの接続が50に達している」場合、当然ながら接続を拒否します。
同時接続数に達していない場合でも、処理速度の限界が来ている場合は接続した後に受信をキャンセルする場合もあります。
メールサーバは接続や配信を拒否された場合(設定にもよりますが)必ず再送信を行います。決められた回数や時間の間再送信を行いそれでも送信ができなかった場合に送信を諦め、必要に応じて差出人に「メールが送信できなかった」という内容のエラーメールを送信します。
接続数限界による拒否例(配信先がサーバAの場合)
- サーバAの接続数が50に制限されている。
- サーバAのユーザーから大量に接続され最大値の50接続に到達
- 自サーバからサーバAにメールの配信
サーバAの接続数が最大値に達している為、自サーバからの接続をキャンセル
- 自サーバは配信を保留します。(即時エラーにはしません)
- サーバAの処理が終わり接続されているかずが30に減少
- 自サーバからサーバAにメールの再配信
- サーバAが接続を受け付け自サーバからのメールを処理
処理能力限界による拒否例(配信先がサーバAの場合)
- サーバAで大量のメールを配信中(処理中)
- 自サーバからサーバAにメールの配信
サーバAの処理能力が限界に達している為、自サーバからの配信をキャンセル
- 自サーバは配信を保留します。(即時エラーにはしません)
- サーバAの処理が終わり処理能力に余裕が発生
- 自サーバからサーバAにメールの再配信
- サーバAが接続を受け付け自サーバからのメールを処理
自サーバからサーバAまでのネットワークの回線のキャパシティを超えている場合、決められた時間内に接続ができない場合もあります。(重いホームページを見ようとした場合にタイムアウトになり表示されないことと同じです)
接続が出来ない場合の MTA のログの例
[MTA ] 2006/01/01 00:01:02 [00] "配信先名"(aaa.bbb.ccc.ddd)へ接続
[MTA ] 2006/01/01 00:01:02 [00] aaa.bbb.ccc.ddd で接続ができません、lookup します
[MTA ] 2006/01/01 00:01:02 [00] "配信先名"の解決ができませんでした。
[MTA ] 2006/01/01 00:01:02 [00] "配信先名"(aaa.bbb.ccc.ddd)へ接続
[MTA ] 2006/01/01 00:01:02 [00] aaa.bbb.ccc.ddd で接続ができません、lookup します
[MTA ] 2006/01/01 00:01:02 [00] "配信先名"へ接続ができませんでした。
[MTA ] 2006/01/01 00:01:02 [00] "配信先名"(aaa.bbb.ccc.ddd)へ接続
[MTA ] 2006/01/01 00:01:02 [00] MTA先が応答しません(他のMXレコードがあれば送信先を切り替えます)
[MTA ] 2006/01/01 00:01:02 [00] "配信先名"(aaa.bbb.ccc.ddd)へ接続
[MTA ] 2006/01/01 00:01:02 [00] akisoftware.jp ESMTP PMailServer 1.52; Sun, 1 Janr 2006 00:01:02
[MTA ] 2006/01/01 00:01:02 [00] HELO "自サーバのホスト名"
[MTA ] 2006/01/01 00:01:03 [00] 250 akisoftware.jp Hello "自サーバのホスト名" [xxx.yyy.zzz.www], pleased to meet you.
[MTA ] 2006/01/01 00:01:04 [00] MAIL FROM: user@akisoftware.jp
[MTA ] 2006/01/01 00:01:15 [00] 450 4.5.0 Mail system is Busy
[MTA ] 2006/01/01 00:01:02 [00] "配信先名"(aaa.bbb.ccc.ddd)へ接続
[MTA ] 2006/01/01 00:01:02 [00] akisoftware.jp ESMTP PMailServer 1.52; Sun, 1 Janr 2006 00:01:02
[MTA ] 2006/01/01 00:01:02 [00] HELO "自サーバのホスト名"
[MTA ] 2006/01/01 00:01:03 [00] 250 akisoftware.jp Hello "自サーバのホスト名" [xxx.yyy.zzz.www], pleased to meet you.
[MTA ] 2006/01/01 00:01:04 [00] MAIL FROM: user@akisoftware.jp
[MTA ] 2006/01/01 00:01:04 [00] RCPT TO: spammer@akisoftware.jp
[MTA ] 2006/01/01 00:01:15 [00] 553 5.3.2 <spammer@akisoftware.jp>... No such user here.
●配信先サーバがラウンドロビンになっている。
ラウンドロビンとは、1つのホスト名に複数の IP アドレス(サーバ)を設定し、DNS の応答で負荷を分散する為の仕組みです。ラウンドロビンになっている状態は必ずしも配信ができない訳ではありませんが、設定や場合によっては配信ができない状況が続く場合があります。
nslookup で MX レコードを検索した場合に下記のように表示された場合はラウンドロビンの設定が行われています。
ホスト名 | タイプ | データ |
akisoftware.jp | MX (10) | mail.akisoftware.jp |
mail.akisoftware.jp | A | 192.168.11.1 |
mail.akisoftware.jp | A | 192.168.11.2 |
mail.akisoftware.jp | A | 192.168.11.3 |
1つのホスト名に複数の IP アドレスが指定されています。
ラウンドロビンが行われている場合、A タイプのデータの箇所が
- 192.168.11.1 / 192.168.11.2 / 192.168.11.3
- 192.168.11.2 / 192.168.11.3 / 192.168.11.1
- 192.168.11.3 / 192.168.11.1 / 192.168.11.2
上記のように順番が変わっていく場合があります。この時にメールサーバから DNS サーバへ問い合わせ際の応答が
DNS サーバや PMailServer でキャッシュされている場合、順番が
ホスト名 | タイプ | データ |
akisoftware.jp | MX (10) | mail.akisoftware.jp |
mail.akisoftware.jp | A | 192.168.11.3 |
mail.akisoftware.jp | A | 192.168.11.1 |
mail.akisoftware.jp | A | 192.168.11.2 |
と固定化される場合があり、ここで食い違いが生じる場合があります、配信先はラウンドロビンの設定を行っていますので毎回順番を変更した IP アドレスを応答していますが、メールサーバが参照している DNS サーバがこの情報をキャッシュしている場合(DNS サーバ同士で相手がラウンドロビンをしているか?などはわかりません)又は PMailServer で DNS キャッシュを有効にしている場合(メールサーバは参照した先の DNS サーバがラウンドロビンしているか調べる方法はありません)に上記のように応答が固定化され、運が悪いことに 192.168.11.3 が落ちている場合配信ができない場合があります。(ただし PMailServer では上記のように応答があった場合、全ての IP アドレスに対して接続を試みるように対策を行っていますので問題は殆ど発生しません)
●自サーバの IP アドレスが逆引きができない。(または逆引き結果で切断する)
一部のメールサーバでは、接続時に「接続してきたサーバの IP アドレスを DNS を使って逆引きし逆引きができなかった場合に接続を拒否する」、所謂「逆引きチェック」を行っている場合があります。
また逆引きができた場合でも逆引きしたホスト名に「ppp」や「adsl」等が含まれている場合、固定IPでは無いと判断し接続を拒否する場合があります。これは、spam やウィルス・ワームの送信の大半が ISP のサーバを経由せずに PPPoE 上の回線や IP アドレスを偽称などが行われていると判断し、「配信先のサーバの管理者が接続を拒否する設定をしているからです。」
この場合は、送信側のサーバでは対処することはできませんので、配信先のメールサーバの管理会社や管理者に問い合わせを行い、ブロックの解除やホワイトリストへの登録を行って貰う必要があります。
固定IPアドレスでは無いのでブロックされている。
上記の「自サーバの IP アドレスが逆引きができない。(または逆引き結果で切断する)」の中でも触れていますが、メールサーバによっては信頼の置けるサーバ以外から接続を許可しない設定にしている場合があります。
ここでいう「信頼の置けるサーバ」とは「固定IP で逆引きがきちんとでき逆引きした結果に適切なホスト名が設定されている」場合です。これは一例です、どの程度が信頼の置けるサーバか設定するのは、その配信先のサーバの管理者次第で、逆引きができればOKと判断する管理者もいれば、ホスト名に「ppp」や「adsl」等が含まれている場合は信頼ができないと判断する管理者もいます。
このように「信頼の置けるサーバからのみ接続を許可する」設定にしているメールサーバは逆に「信頼の置けないサーバからの接続は拒否する」ということになります。
比較的一般的な DNS の応答
まず正引きした状態
ホスト名 | タイプ | データ |
akisoftware.jp | MX (10) | mail.akisoftware.jp |
mail.akisoftware.jp | A | 192.168.11.1 |
mail.akisoftware.jp は 192.168.11.1 とわかったので、192.168.11.1 を逆引きします。
ホスト名 | タイプ | データ |
1.11.168.192.in-addr.arpa | CNAME | 1.11h.168.192.in-addr.arpa |
1.11h.168.192.in-addr.arpa | PTR | mail.akisoftware.jp |
逆引きした結果が一致しているので、信頼のできるメールサーバとして判断します。
逆に逆引きの結果が
ホスト名 | タイプ | データ |
1.11.168.192.in-addr.arpa | CNAME | 20060101.ppp.akisoftware.jp |
と応答された場合、「ppp」が含まれているので固定IPとは判断せずに接続を拒否する場合があります。
(これは非常に乱暴で簡略した表現ですが、現実としてもう少し複雑な条件を組み合わせた上で判断しているメールサーバは存在します)
また、大手ISPの場合、固定IPと浮動IPが比較的はっきりしている場合もあります。この場合、相互で情報を交換を行い、浮動IPを明示的にブロックするケースもあります。
どちらも配信先のメールサーバで受信の拒否を行っている為、「自サーバの IP アドレスが逆引きができない。」と同じように配信先の管理会社又は管理者に問い合わせるしか対処方法はありません。
携帯電話へ配信できない
携帯電話に配信ができない場合は、携帯固有の問題がある場合があります。
以下の点をチェックしてください。
相手側で受信を拒否されていませんか?
携帯電話で受信を拒否している場合があります。携帯電話の場合、同一キャリアからのメールしか受け取らない設定や、特定のドメインからのメールしか受け取らない設定など通常のメールソフトと比べ細かく受信設定を行うことが可能です。送信先の相手がはっきりしている場合は受信拒否をしているかどうかの確認を行ってください。
利用されている回線で Outbound Port 25 Blocking が行われていませんか?
Outbound Port 25 Blocking(以下OP25B)が行われている回線で携帯電話へのみ配信を制限している場合があります。
携帯電話のみ転送ができない場合は、ご利用されている回線のISPへ問い合わせを行い、OP25B が実施されている場合はISPで指定されたサーバへ転送を行ってください。
接続そのものをキャンセルされている場合があります。
ドメイン名(ホスト名)の管理を Dynamic DNS などで行っている場合、固定IPで無い場合、逆引きができない場合、などの理由によりキャリア側で接続を拒否している場合があります。
これらの情報は公式にブロックされている情報が殆ど出てこない為キャリア側へ直接問い合わせる必要があります。
携帯キャリア側で行われる対策は殆ど公開されておらず、また時期によって対応が変わっていたりIPブロックなど突然実施されるものもあります。
PMailServer の MTA ログレベルを3まで上げ、サーバ間のやりとりを確認してどのようなエラーが発生しているかを確認してください。
殆どの場合携帯側でブロックされていることがあり、その場合はこちら側のサーバの設定を変更しても解決することはできません。