以前、仕事で検証用のメールサーバを作る必要が生じたので、とりあえずLinuxでサーバ立てることにしました。
そのときあったのがFedoraCoreだったので、Webサイトとしてはhttp://fedorasrv.com/ を参考にさせていただきました。簡単そうなので送信(SMTP)サーバはPostfix、受信(POP3)サーバはdevocotを使います。
最低限の設定なので、まずはFedoraの初期設定としてyum -y updateでパッケージを最新にするなどしたあとは、上記サイトを参照してPostfixとdovecotをインストールします。SMTPはSMTP Authも使えるようにしておきました。
検証用に1つドメインは持っているので、ここのメールサーバで使うドメインはそのテスト用ドメインにするかな・・・それに、DNSサーバに関しては既存でWindows2003のDNSサーバあるからこっちを使おう・・・。
行なったのはこの程度の設定です。あとはメールサーバ上にアカウント作って、そのアカウントと自社の実環境で使っているメールアカウントとの間でメールが送受信できるかどうかのテストをしてみました。
あ、できたできた・・・ 単にメールの送受信だけであれば、良いWebサイトを見つけて手順を理解して構築すれば、ひとまず動く構成にはできそうです。もちろん、サーバのスペックとか、カーネル、アプリケーションのバージョンなどいろいろ依存するものはありそうですが、だいたい「うまくいかない」という場合には、「内容を理解していない」とか「手順をどこかしらすっぽかしている」ということが多いかと思います。理解を進めながら1つ1つ注意深く見ていけば問題ないんでしょうね・・・。
と思っていたら、1つおかしなことに気がつきました。メールの受信時間が実際の時間から大幅にずれているのです。
といっても、ずれているのは”ちょうど数時間”、という感じです。だとすると、理由としては「NTPサーバとの同期ができていないので、使っているうちに時間がずれてしまった」という理由ではなく、「そもそもタイムゾーンが日本のものになっていない」ということですね。
だとすると、途中の経路のサーバの時間がずれてたのかな・・・?まあ、普通に考えると、検証用のサーバの時間がずれてる可能性もあるけど、万が一他だった場合には、経路上のそれ以外のサーバは実環境で使っているやつだから、ちゃんと報告しないとな・・・。
そう思っていたところ、先輩に「できた?」と声を掛けられます。時間がずれてるので、どこがずれてるか探そうと思っている旨を伝えると、てっとり早い方法を教えてくれました。
要するに http://e-mail.pc-beginner.net/mail/mail_header.html などにあるように、受信した端末のメールクライアント(Outlookなど)でヘッダを追っかければいいわけです。Outlookだったらメールを右クリックして[メッセージオプション]から[インターネットヘッダ]ですね。他のメールクライアント(メーラー)でも似たような方法で見れるはずです。
で、各Receivedヘッダのbyの部分を確認し、「ああ、検証用のメールサーバの時間がずれてるね」と即答してくれました。そっか、Receivedヘッダを記録するのは、そのメールを受け取ったメールサーバだから、その時点で時間がずれている、ということはサーバに問題があるわけですね。PCの時間が正しいのはすでに確認済みなので原因の見当はついていましたが、一応もっともらしい(?)理由にもたどりつけました。
さてと、Fedoraって勝手にタイムゾーンあわせてくれないのかな・・・まあ、調べればすぐわかるだろう・・・と思って調べてみると、すぐに見つかりました。
http://d.hatena.ne.jp/rx7/20080425/p2
そっか、/etc/localtimeにタイムゾーン情報のファイルをコピーするだけでいいのですね・・・。
これで解決しました(^^)。
この記事が気に入りましたら、また、お役に立ちましたら、以下のアイコンをクリックしていただけると嬉しいです(^^)