POP3とIMAPを扱うアプリを触ることになって、テスト用にサーバが欲しいなあ、と。
まあLinux上で何か動かすのももちろんありなんだけど、ローカルで完結してると何かと楽なので Windows上で探してみるとhMailServerというのが良さそうなので使ってみたメモ。
ダウンロードとインストール
ダウンロードページからダウンロード。 これを書いている時点ではhMailServer-5.6.5-B2367.exe。 インストールは普通に。
サーバ設定
"hMailServer Administrator"というのがインストールされているので起動。[Connect]を押すとパスワードを聞かれるのでインストール時に設定したものを入力して接続。
まずは[Add domain...]を押す。"Domain"にドメイン名を設定。ここでは"local.domain"にした。
次にDomains->local.domain->Accountsを選んで[Add...]を押す。"Address"(ここでは"user")と"Password"(適当に)を設定。
Settings->Protocols->SMTPを選んで"Delivery of e-mail"タブを選択。"Local host name"にローカルホスト名を入れる。ここでは"localhostname"にしておいた。これがどこで使われるか分かっていないのだけど、設定しないと警告が出るのでとりあえず。
Setting->Advanced->Auto-banを選んで"Enabled"を外す。テストの邪魔なので。
最後にSetting->Loggingを選んで"Enabled"をオンに。ログを取りたい項目にチェックを付ける。ここでは"Application","POP3","IMAP"をオンにした。
クライアント設定
後はクライアント側でさっき設定したユーザーとパスワードを使ってアクセスするようにすればいいのだけど、ユーザー名はメールアドレス形式(ここでは"user"ではなく"user@local.domain")を指定しないといけない。ちょっとはまったので記録に残しておく。
外部からサーバを操作
テストに使うには外部からサーバのデータを色々制御できると楽で、 実際COM APIは用意されているのだけど、 普通にSMTPでメール送ってメールボックスに貯めて、POP3とかIMAPでメールボックスの中身を操作すればとりあえずは事足りるのでCOM APIは使わなかった。 もっとがっつり使うならいい感じのラッパを作ってもいいのかもしれない。