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 を有効にしてください。
●外部への配信が許可されていない。
外部への配信が許可されていない場合、以下の原因が考えられます。

●相手側サーバが落ちている、又は過負荷状態。
まず、PMailServer のMTA のログを見て頂いて発生するのが特定のサーバのみに発生するか?又は何度も配信に失敗しているかを確認して下さい。
どんなメールサーバでも同時に接続できる数に制限があります。またサーバに多くのメールが届いており処理が過負荷状態になっている場合もあります。
メールサーバでメールの送信を受け付けるSMTPポートがありますが、これは「ユーザーからのメールを受け付けるポート」と同時に「外からのメールを受け付けるポート」両方を兼ねています。
メールサーバは SMTP ポートから受け取ったメールの宛先がローカルアドレスであれば自サーバのメールボックスに保存し、外部アドレスであれば配信を行います。
メールサーバの同時接続数が50に制限されている場合に「ユーザーからの接続が50に達している」場合、当然ながら接続を拒否します。
同時接続数に達していない場合でも、処理速度の限界が来ている場合は接続した後に受信をキャンセルする場合もあります。
メールサーバは接続や配信を拒否された場合(設定にもよりますが)必ず再送信を行います。決められた回数や時間の間再送信を行いそれでも送信ができなかった場合に送信を諦め、必要に応じて差出人に「メールが送信できなかった」という内容のエラーメールを送信します。

接続数限界による拒否例(配信先がサーバAの場合)

  1. サーバAの接続数が50に制限されている。
  2. サーバAのユーザーから大量に接続され最大値の50接続に到達
  3. 自サーバからサーバAにメールの配信
  4. サーバAの接続数が最大値に達している為、自サーバからの接続をキャンセル
  5. 自サーバは配信を保留します。(即時エラーにはしません)
  6. サーバAの処理が終わり接続されているかずが30に減少
  7. 自サーバからサーバAにメールの再配信
  8. サーバAが接続を受け付け自サーバからのメールを処理

処理能力限界による拒否例(配信先がサーバAの場合)

  1. サーバAで大量のメールを配信中(処理中)
  2. 自サーバからサーバAにメールの配信
  3. サーバAの処理能力が限界に達している為、自サーバからの配信をキャンセル
  4. 自サーバは配信を保留します。(即時エラーにはしません)
  5. サーバAの処理が終わり処理能力に余裕が発生
  6. 自サーバからサーバAにメールの再配信
  7. サーバ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 します
DNS から参照した IP アドレスで接続ができない為、名前からIPアドレスを再取得(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 します
DNS から参照した IP アドレスで接続ができない為、名前からIPアドレスを再取得(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 "自サーバのホスト名"
開始コマンドの送信(プロトコルによっては HELO では無く EHLO の場合もあります)
[MTA ] 2006/01/01 00:01:03 [00] 250 akisoftware.jp Hello "自サーバのホスト名" [xxx.yyy.zzz.www], pleased to meet you.
xxx.yyy.zzz.www は自サーバの IP アドレスです。正常応答しています
[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
SMTPからの応答は3桁の数字で表現されます。最初が 2 の場合は正常応答、4 の場合は一時的なエラーによる応答、5 の場合は永続的なエラー応答です。一時的なエラーですので送信側メールサーバは一定時間経過後に再度送信を行います。


[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 "自サーバのホスト名"
開始コマンドの送信(プロトコルによっては HELO では無く EHLO の場合もあります)
[MTA ] 2006/01/01 00:01:03 [00] 250 akisoftware.jp Hello "自サーバのホスト名" [xxx.yyy.zzz.www], pleased to meet you.
xxx.yyy.zzz.www は自サーバの IP アドレスです。正常応答しています
[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.
送信先のメールアドレスが無いようです。応答の最初が 5 ですので永続エラーとして送信側メールサーバは再送信をおこないません。

●配信先サーバがラウンドロビンになっている。
ラウンドロビンとは、1つのホスト名に複数の IP アドレス(サーバ)を設定し、DNS の応答で負荷を分散する為の仕組みです。ラウンドロビンになっている状態は必ずしも配信ができない訳ではありませんが、設定や場合によっては配信ができない状況が続く場合があります。
nslookup で MX レコードを検索した場合に下記のように表示された場合はラウンドロビンの設定が行われています。

ホスト名タイプデータ
akisoftware.jp MX (10)mail.akisoftware.jp
mail.akisoftware.jp A192.168.11.1
mail.akisoftware.jp A192.168.11.2
mail.akisoftware.jp A192.168.11.3

1つのホスト名に複数の IP アドレスが指定されています。
ラウンドロビンが行われている場合、A タイプのデータの箇所が
上記のように順番が変わっていく場合があります。この時にメールサーバから DNS サーバへ問い合わせ際の応答が DNS サーバや PMailServer でキャッシュされている場合、順番が
ホスト名タイプデータ
akisoftware.jp MX (10)mail.akisoftware.jp
mail.akisoftware.jp A192.168.11.3
mail.akisoftware.jp A192.168.11.1
mail.akisoftware.jp A192.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 A192.168.11.1

mail.akisoftware.jp は 192.168.11.1 とわかったので、192.168.11.1 を逆引きします。

ホスト名タイプデータ
1.11.168.192.in-addr.arpaCNAME1.11h.168.192.in-addr.arpa
1.11h.168.192.in-addr.arpaPTRmail.akisoftware.jp

逆引きした結果が一致しているので、信頼のできるメールサーバとして判断します。
逆に逆引きの結果が
ホスト名タイプデータ
1.11.168.192.in-addr.arpaCNAME20060101.ppp.akisoftware.jp

と応答された場合、「ppp」が含まれているので固定IPとは判断せずに接続を拒否する場合があります。
(これは非常に乱暴で簡略した表現ですが、現実としてもう少し複雑な条件を組み合わせた上で判断しているメールサーバは存在します)
また、大手ISPの場合、固定IPと浮動IPが比較的はっきりしている場合もあります。この場合、相互で情報を交換を行い、浮動IPを明示的にブロックするケースもあります。
どちらも配信先のメールサーバで受信の拒否を行っている為、「自サーバの IP アドレスが逆引きができない。」と同じように配信先の管理会社又は管理者に問い合わせるしか対処方法はありません。
携帯電話へ配信できない
携帯電話に配信ができない場合は、携帯固有の問題がある場合があります。
以下の点をチェックしてください。 携帯キャリア側で行われる対策は殆ど公開されておらず、また時期によって対応が変わっていたりIPブロックなど突然実施されるものもあります。
PMailServer の MTA ログレベルを3まで上げ、サーバ間のやりとりを確認してどのようなエラーが発生しているかを確認してください。
殆どの場合携帯側でブロックされていることがあり、その場合はこちら側のサーバの設定を変更しても解決することはできません。