開発・検証用のダミーメールサーバの構築(fakeSMTP)

概要

アプリ開発や検証等でメールサーバを利用したい場合がある。
プロジェクトで共有の検証用メールサーバを構築できると効率が良いか、その準備が間に合わなかったり、使用者が限定的な場合は、使用者の開発環境上に構築した方が手っ取り早い。
ここでは、fakeSMTPというダミーのメールサーバを構築する方法を説明する。

fakeSMTPのインストール

公式サイトからfakeSMTP.jarをダウンロード・展開し、実行します。

インストールと動作確認

  1. 上記の公式サイトのdownloadページから最新版をダウンロード(fakeSMTP-latest.zip)します。
    (2019年9月現在、v2.0が最新でした。)
  2. ダウンロード後、任意の場所に解凍します。
    (以降では”C:\fakeSMTP-latest”に展開した想定で説明します。)
  3. javaコマンドを使ってfakeSMTPを実行します。
    java.exe -jar C:\fakeSMTP-latest\fakeSMTP-2.0.jar
  4. 表示されたGUIで[サーバー起動]をクリックします。
  5. 何らかの方法でメールを送信します。
    簡単にメール送信したい場合は、下記のようなPowerShellを実行してメールを送信できます。
  6. 送信したメールの内容が、次のようにfakeSMTPのGUIに表示されることを確認する。
  7. 表示行をダブルクリックすることで、OutlookやThunderbird等のメールクライアントで確認することもできます。(拡張子emlに対応するアプリが起動されますが、Outlook等の当該アプリが単独で正常に起動できるようになっていないとエラーで開けません。)

補足

公式サイトに説明がない動作についての補足です。

  • fakeSMTPが終了する際、設定情報がユーザフォルダ(%USERPROFILE%)の下記プロパティファイルに出力されます。
  • 「メッセージ保存先」は既定でreceived-emailsとなっています。これは、ユーザフォルダ(%USERPROFILE%)のreceived-emailsとなります。

開発者展開用のバッチ

概要

開発者が難しいことを知らずに、ワンクリックでローカルにダミーのSMTPサーバを起動するためのバッチです。開発標準の一環として、”C:\fakeSMTP-latest”を圧縮して開発者に展開する想定です。

起動するfakeSMTPの仕様は次の通りです。

  • fakeSMTPのGUIを表示し、サーバを自動で開始する。
    (既定では、GUI表示後にユーザが[サーバー開始]ボタンをクリックする必要がある。)
  • 受信したメールは証跡として、バッチと同じフォルダのmailフォルダに残す。
  • SMTPの既定の25番ポートを使用する。
  • fakeSMTP起動時の-aオプションでリッスンするアドレスを指定できますが、-b, -sと併せて指定する必要があります。-bはバックグラウンド実行オプションで自動開始の-sオプションと併せて使う必要があります。GUIで確認できた方が分かりやすいので、ここでは-bオプションは使用しません。

使い方

fakeSMTP-2.0.jarと同じフォルダに配置し、バッチ上のJAVA_HOMEまたはJVM変数を環境に合わせて書き換えて、管理者権限を持つユーザで実行してください。
使用している環境変数に関しては、こちらをご覧ください。