Windows2008でメールサーバを構築したい(1)

Intra-martのワークフロー機能には、標準でメール連携機能がありまして、承認時に申請者メール(「承認しましたよ〜」的な内容)
を送信したり、逆に申請時に承認者に対してメール(「承認してくださ〜い」的な内容)を送信したりできます。
システム導入時には、シナリオに従ってテストするんですが、開発の環境によってはお客様のメールサーバを簡単に借りられない場合があります。
今回もそのケースに該当していて、仕方なくテスト用だけの為にメールサーバを構築することになりました。
以前のプロジェクトで、開発者のコミュニケーション用にフリーのメールサーバを構築したことがあり、今回もそれを導入しようと思い立ちました。


Xmail http://www.xmailserver.org/
今回はこのXmailを動作させるための前準備ということで、ActivePerlをインストールし、IISCGIスクリプトが動作するところまで検証します。
なお、OS環境は、

  • Windows Server Enterprise 2008 SP1 (64bit)

です。

ActivePerl http://www.activestate.com/activeperl/downloads
をダウンロードしてきて、セットアップを実行します。
今回は64bitマシンなので添付画像の右下(赤枠)の方をクリックしました。

このあと、ユーザ情報(姓と名)、メールアドレス、会社名などを入力してダウンロードできるようになります。
この時点でダウンロードできたファイルは、ActivePerl-5.12.3.1204-MSWin32-x64-294330.msiでした。
ファイルサイズは25.9Mほどありました。
ダウンロードしたファイルをダブルクリックしてインストールを開始します。
今回はすべてデフォルトの設定のままインストールを行いました。スクリーンショットを添付します。







最後にお約束のように、コマンドプロンプトから「perl -v」を打ち込んで確認します。


以上でActivePerlのインストールは終了です。
次にIISの設定をしていきます。今回はIISが入っている前提でCGIが動作するように設定します。
IISの設定メニューから仮想ディレクトリの追加を実施します。
以下の図は、testという仮想ディレクトリを追加した様子。

その中に、test.cgiというファイルをおきます。
内容は以下の通りです。

#!c:\perl64\bin\perl.exe

print "Content-type: text/html\n\n";
print "\n";
print "\n";
print "\n";
print "\n";
print "\n";
print "this is a test message.\n";

ちなみに、何も設定せずにアクセスすると以下のようになります。

このエラーを解消するために、ハンドラマッピングを行います。
先ほどの仮想ディレクトリを選択した状態で、右のペインにあるハンドラマッピングをダブルクリックします。
以下のアイコンです。

すると、現在登録されているハンドラマッピングの一覧画面になるので、そのさらに右側にあるメニューのスクリプトマップの追加を押下します。

すると以下の画面がでてくるので、それぞれ画面のように入力してOKボタンを押下します。

  • 要求パス:*.cgi
  • 実行可能ファイル:C:\Perl64\bin\perl.exe "%s" %s
  • 名前:CGI


以下の画面がでますので、はいを押下して設定終了です。


先ほどのエラー画面をリフレッシュすると、以下のようにうまく表示されました。


「*.pl」というファイルに対しても同じように設定したい場合は、上で行ったようにハンドラマッピングに追加する必要があります。
これでXmailのお膳立てが出来たので、今度はXmailの構築にチャレンジしたいと思います。