メールサーバーのレンタルをするぐらいなら、余っているサーバー環境に構築してしまったほうが、経済的だと思い、最近会社を立ち上げた友達の会社のメールサーバーを構築してあげたりしました。
でもメールサーバーの構築って、本当に一筋縄ではいきませんね。
でもすでに今回で3回目。いいかげん詳細を理解しないといけません。
そして、何回ググってみても、自分の環境にドンピシャの答えにたどり着けなかったので、ブログで備忘録しておきます。
トラブル内容とエラー詳細
今回のモジュール構成も毎度おなじみの「Centos6 + Postfix + Dovecot」でやることになり、以前にやった同じ構成にすることで、設定作業の時短を狙ってみたのですが、設定完了しても、どうしてもメールソフト(MacOSXのメールアプリ)でうまくPOP,SMTP認証が行えないという事象にはまってしまい、2日ほど費やしてしまいました。
とりあえず、インストールと各種の設定は、ググるとブロガーのみなさんが、親切丁寧に書いてくれているので、そうした記事を参考に構築するのがいいでしょう。
僕の場合は、前回設定をそのままコピペして、必要な箇所だけ書き直すという手順でした。
そして、「/etc/log/maillog」をtailで確認しながら、メールアプリからアクセスしてみたところ、以下のエラーが頻発。
dovecot: pop3-login: Aborted login (no auth attempts): rip=%自宅のWAN-IP%, lip=%サーバーのWAN-IP%
ちなみに、サーバーはさくらVPSを使っています。
もちろん、さくらインターネットでサーバーを設置したばかりの場合は、以前記事でも書いた「OP25B」という仕様を解除しなければいけません。
以前記事「さくらVPSでメール送信が出来なくて対処した時のメモ」
さくらインターネットの重要事項ページ
今回のPOP3にアクセスできない現象は25番ポートではないので、これではない事は分かりますが、メールアプリでPOP認証が全然できなかったのでメチャ焦りました。
そして、今回はその奮闘書記です。
※今回はCentos6の仕様で記述しているので、Centos7以降の環境の人は、コマンドなど違っているのでご注意ください。
各種確認
まずメールサーバーが正常にアクセスできない場合は、過去の経験から以下のように障害切り分けを行う事を認識しています。
1. postfix , dovecotの各種設定が間違っている
2. サーバーのネットワーク環境が正常に機能していない
3. メールアプリの設定がおかしい
4. サーバーログの確認
1. postfix , dovecotの各種設定が間違っている
mailコマンドやsendmailコマンド、telnetコマンドでメールが正常に送受信できるかの確認。
この手順は、作業をしているMac端末のターミナルで確認したり、他の公開サーバーを使って確認する事で、メールサーバー内部でも外部でも、メールが正常に送受信できる事を確認する手順です。
telnetを使った確認は下記の通り(25番,110番,143番)の確認
# 各種表示されるメッセージは省いています
# SMTP確認(送信確認)
$ telnet localhost 25
MAIL FROM: %送信元メールアドレス%
RCPT TO: %構築したメールアドレス%
DATA
From: %送信元メールアドレス%
Subject: test
Hello wrold
.
QUIT
# POP確認(ログイン確認)
$ telnet localhost 110
user %メールアカウント%
+OK
pass %パスワード%
+OK Logged in.
quit
# IMAP確認(認証確認)
$ telnet localhost 143
1 login %メールアカウント% %パスワード%
上記は、構築したメールサーバー内部で実行する事で、設定ができたかどうかがわかります。これを外部から行う場合は、「localhost」の箇所を対象のサーバーIPアドレスや、ドメインに変更して実行してみましょう。
今回は、この手順はクリアしました。
2. サーバーのネットワーク環境が正常に機能していない
Firewallやサーバー環境や他アプリのコンフリクトが考えられるので、netstatやiptablesなどの確認。
次によくやらかすのが、Centosの場合は、Firewallです。以下のコマンドで設定を確認してみましょう。
$ /etc/rc.d/init.d/iptables status
上記で対象のポートが0.0.0.0という風に公開されているか確認しましょう。これで解決する場合も少なくないです。
そして、netstatを使って以下のコマンドを叩いてみると、現状のポートの使われている状態がわかるので、覚えておくと便利です。
$ netstat -ant
3. メールアプリの設定がおかしい
非常に基本ですが、そもそも、メールアプリの設定がおかしければ、元も子もありません。上記までの確認で全てクリアされている場合は、今一度疑ってみることも重要です。
メールアプリの設定は、使用しているアプリケーションによって様々なやりかたがあるので、ご自身でご確認ください。
4. サーバーログの確認
$ tail -f /var/log/maillog
上記コマンドを叩いておけば、あとはリアルタイムにログを閲覧できます。
今回のエラーで気になったのは、「Aborted」というログがdovecotのpop3-loginで出ていて、これは、ログイン認証する前に有無を言わせずはじき返しているログという事が分かり、これが設定変更などをどのように行っても治らなかったため、結果時間が長引いてしまった原因になりました。
他にも通信ができている状態であれば、ログを見ればある程度の事は理解でき、それを解決する事で問題が無くなるので、改めてログ確認は重要なミッションであることもわかります。
対応方法
結論から言うと、今回の完了した対応方法は、Macのメールアプリのアカウント設定を一度削除して、再登録する事で解決する事ができました。
どうやらMacのアプリケーションがオフラインキャッシュのデータを保持してしまい、サーバーをどんなに修正しても意味がなかったと言う事も解決後に理解できました。
これに気がついたのは、Macアプリではなく、iPhoneアプリのメールに設定登録してみたところ正常に動作していたので、サーバーの問題ではなく、アプリ側の設定の問題という点に気が付けたからです。
こうした気づきも経験にもよると思いますが、いち早く気が付けるというポイントって重要ですよね。
0 件のコメント:
コメントを投稿