きっかけ
既存アプリのメール送信部に改修が入ったが、添付ファイルが機密性が高いので外部メールアドレスを使ってテストできない。
見つけたツール
FakeSMTP
https://nilhcem.github.io/FakeSMTP/
手順
- zipファイルをダウンロードして解凍
- jarファイルをダブルクリックで起動
- メール送信を行うプログラムを起動して、受信されるのを待つ
FakeSMTPのいいところ
- 外部にメールが飛ばないので、でたらめなアドレスでもテストが出来る。
- 外部にメールが飛ばないので、機密性が高いファイルの添付テストも容易に出来る。
はまったところ
javamailを使うということは、SMTPホスト(プロパティキー:mail.smtp.host)はおそらくプロパティファイル等に定義していることが多いと思われる。
FakeSMTPを使ってテストする時は、SMTPホストはlocalhost、あるいは127.0.0.1を指定しないとfakeSMTPで受信出来ない。
ポート番号はデフォルトの25で大丈夫だと思うが、変更は可能。
書いた理由
SMTPホストのアドレスはちゃんとlocalhostを指定しないとダメ、と書いてあるサイトが無かったので。