2009年4月25日土曜日

スタンドアロンなメールサーバー

自分のPCでスタンドアロンで(ネットワーク接続は無しの状態で)webアプリケーションを動かして遊ぼうと思った場合に、PC上で動いているメールサーバーが必要になります。webアプリケーションが各種通知メールを送信するためには、smtpサーバーが無いと送れないからです。

そこで、適当なメールサーバーソフトがないかなと思って調べたのですが、RadishやPegasusもよさそうでしたが、Apache Jamesというメールサーバーソフトが浮上してきました。webサーバーもApacheですので親しみがわきます。

ということで、Apache Jamesを使うことにしました。このソフトは100%Javaで書かれているため、Javaが動いている環境であればOSに依存せずどのシステムでも動くことになっています。Javaってスゴイですね。

James Project

実際のインストールは、専門家の方が詳細に説明してくださっている下記のページに書かれている通りで、Apache Jamesのバージョンは現在は2.3.1ですが、そのまま適用可能でした。

Windowsで動くウェブ開発専用のSMTP・POPサーバ

尚、このままだと、Jamesを起動した場合、つねにDOS窓が開いたままになってしまうため、少々美しくない気がします。そこでJamesをNTサービスに登録してWindowsのバックグラウンドで常に走るように出来たらいいなと思っていたら、これも先人によって解決されていました。

Apache James/NT Service

ということで、自分では何もやることがありませんでしたが(苦笑)、気がついた点について書きます。

最初テスト用のメールソフトとしてThunderbirdを使っていましたが、全く動かず困ってしまいました。おそらく、メールサーバーのIPアドレスが127.0.0.1なので何らかのチェックが入っていたのだと思います。もしかするとメールアドレスのドメインをlocalhostのままでやっていたのが悪かったのかもしれません。

それで、メールソフトをOutlookExpressに変えて試したところ、何の問題もなくメールの送受ができました。このときはドメイン名はlocalhostでも問題ありませんでした。

ところが、MovableTypeをインストールする際にシステム管理者のメールアドレスを登録したりなんだりしますが、このときにuser1@localhostというメールアドレスは「不正なドメイン名」として受け付けてもらえませんでした。それで先の先人のページにもあったようにドメイン名を変えてuser1@mail.localと変更してみたところ、問題なく登録できました。やはりこの辺は微妙のようです。

あとは、現在ThinkPad T42でサーバーを動かしていますが、PCを休止状態にしてから再立ち上げすると、何回かに1回くらいの割合でメールサーバーが死んでしまうことがわかりました。サービスの再起動をやっても解決せず、いったんログオフすると直ることがわかりました。原因はよくわからないのですが対策はわかりましたので、とりあえずこのまま使おうと思います。

ということで、以下ご参考ですが、こういう環境でメールを送ったときのメールヘッダーがどうなるかを示します。(一部伏字にしたところがあります)

Return-Path: <webmaster@mail.local>
Message-ID: <15308417.01240491888253.JavaMail.SYSTEM@IBM-XXXXXXXXXXX>
MIME-Version: 1.0
Delivered-To: user1@mail.local
Received: from localhost ([127.0.0.1])
          by IBM-XXXXXXXXXXX (JAMES SMTP Server 2.3.1) with SMTP ID 522
          for <user1@mail.local>;
          Thu, 23 Apr 2009 22:04:46 +0900 (JST)
Received: from 127.0.0.1 (AVG SMTP 8.5.287 [270.12.3/2076]); Thu, 23 Apr 2009 22:04:46 +0900
Subject: =?ISO-2022-JP?B?W015IEZpcnN0IEJsb2ddICcbJEIlRiU5JUgbKEInGyRCJEslMyVhJXMlSCQsJCIkaiReJDckPyEjGyhC?=
Date: Thu, 23 Apr 2009 22:04:46 +0900
Content-Type: text/plain; charset="ISO-2022-JP"
To: user1@mail.local
Content-Transfer-Encoding: 7bit
From: =?ISO-2022-JP?B?eXVoYQ==?= <webmaster@mail.local>
X-Antivirus: AVG for E-mail 8.5.287 [270.12.3/2076]

ブログMy First Blogのブログ記事'テスト'(ID:2)に新しいコメントが投稿されました。

test

コメント投稿者: yuha
メールアドレス:
IPアドレス: 127.0.0.1

コメントを見る:
  <http://localhost/blog/2009/04/post.html>

コメントを編集する:
  <http://localhost/mt/mt.cgi?__mode=view&_type=comment&id=2&blog_id=1>

コメントをスパムとして報告する:
  <http://localhost/mt/mt.cgi?__mode=handle_junk&nonce=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&_type=comment&id=2&blog_id=1>
--
Powered by Movable Type 4.25

0 コメント: