Windows上にIIS SMTPサーバーを構築する(トラブルシューティング)


SMTPサーバーの構築

SMTPサーバーの構築自体はMicroSoftのWebサイトに掲載されているものがわかりやすく、そのとおりに行えば設定できます。が、メールが届かない!!

ここではMicroSoftのSMTP サーバーの作成手順にないものを補足する形で説明します。
*↑のサイトの手順どおり構築が終わっている前提で話を進めます。

筆者の利用環境は以下です。
・WindowsServer2012
・IIS6.0

25番ポートの利用制限を解除

OP25B(25番ポートブロック)がかかっている場合があります。プロバイダに対して、25番ポートの利用制限を解除してもらう必要があります。
今回はAWS上のwindowsインスタンスを利用していたので、下記の申請が必要でした。
EC2 インスタンスからポート 25 の制限を削除するにはどうすればよいですか?

SPFレコードの設定

SPFレコードとは、メールのなりすましを防止するために、メールの送信元のアドレスのドメインが登録されているDNSに対して設定するものです。

参考:送信ドメインを認証するためのSPFレコードに詳しくなろう
画像は上記サイトより拝借いたしました。

SMTPサーバーをたてるのは自分の所有しているサイトから会員に対してメールを送りたい、といった場合ではないでしょうか。その場合、サイトで利用している情報発信用メールアドレスのドメインを登録しているDNSにSPFレコードを追加します。

追加するのは以下のようなレコードです。

{mailFromのドメイン名} IN TXT "v=spf1 ip4:{mailサーバーのIP} ~all"
例)myservice.mail.from.com IN TXT "v=spf1 ip4:123.123.123.123 ~all"

DNSへの登録とFQDNの記載

DNSにメールサーバーのドメインを登録します。
その後登録したドメインを配信詳細の完全修飾ドメイン名に記載します。(ここに記載されたものがエンベロープFromになるようです。)

backListに乗っていないか確認

IPアドレスの前の所有者がちょっと悪いことをしていてBlack ListにIPアドレスが乗っている場合、メールが送れないことがあります。Black Listに乗っていないか確認してみましょう。
もしBlackListに乗ってしまっている場合は解除申請を出します。
下記サイトでブラックリストに乗っていないか確認できます。
Spamhaus
Invaluement
MXToolBox

問題の調査のための設定

メールが届かない!となったときに以下のディレクトリを確認します。
・C:\inetpub\mailroot\BadMail
・C:\inetpub\mailroot\Queue
・ログファイル

BadMail

送ることができなかったメールがこのディレクトリに入ります。
送れなかった理由等も記載されているので確認します。

Queue

送られるメールが多い場合、Queueディレクトリにメールが入っているのが確認できると思います。
あまりにもQueueのメールが減るのが遅い場合はネットワークを見直す、名前の逆問い合わせができるようになっているが確認するなど対応が必要です。

ログファイル

メールの送信ログを確認できるように、設定しておくほうがよいと思います。
設定は下記のように行なえます。


以上Windowsサーバー向けに記載しましたが、トラブルシューティング系はLinuxでも同じような対応が必要になるので参考になれば幸いです。