Javaでメール配信機能開発 use smtp4dev

開発用SMTPサーバーのsmtp4devというアプリを使用することで、高速でメール配信機能開発することが出来ましたのでご紹介します。

ダウンロード

smtp4dev公式サイトからダウンロードします。私は開発端末が変わっても環境を固定したいので、smtp4dev公式サイト – アーカイブからダウンロードすることが多いです。以降の手順では、アーカイブ版を使用した手順で紹介します。

smtp4dev公式サイト – アーカイブの以下リンクをクリックしてZIPファイルをダウンロードします。

smtp4dev-2.0.10-binaries.zip

起動

ダウンロードしたら解凍してexeファイルをダブルクリックで起動します。これで起動完了です。

使い方

smtp4devのデフォルトの設定は25番ポートを使用するようになっています。設定で変更することが可能ですが、すでに25番ポートを使用している場合以外はデフォルトのまま使用して問題ないです。以降の手順では、デフォルトの設定で使用する手順で紹介します。

application.propertiesに次のように記載します。

spring.mail.host=localhost
spring.mail.port=25

上記2点さえ設定してあれば、送信アドレス/受信アドレスを自由に設定できます。この点がとても便利で、本番環境への移行がスムーズになります。

送信アドレスを設定するには ソースコード中のMimeMessageHelperクラスsetTo()メソッドで引数にアドレスを入れて実行することで設定できます。

Gmailでは次のように設定ファイルに記載して送信アドレスを設定できましたが、smtp4devでは出来ません。
spring.mail.username=XXXXXXXXXXXXXXXXXXXXXX@gmail.com

他に検討した開発用SMTPサーバー

Windows10で使用できる開発用SMTPサーバー
・Origami SMTP
・Radish
・Mercury/32
・Amazon SES

AWSにメール送信/配信できるサービスがあるらしい。メールサーバーもあるらしい(Amazon SES)。AWSは思いつくものは大体あって凄いな。