メールを送信するためのJavaコードをテストします。商用メールクライアントを使用したり、GmailやYahooなどの外部メールプロバイダーに接続したりしません。ユーザーがダミーの電子メールアドレスとサーバーで(ローカルで)サーバーを構成できるソフトウェアがある場合は、ソフトウェアで使用してメールを送受信できます。Javaの機能をテストしたいだけです。 =コード。
電子メールのテストについては、Dumbsterを試してください。彼らのページから:
Dumbsterは、電子メールメッセージを送信する単体およびシステムテストアプリケーション用に設計された非常に単純な偽のSMTPサーバーです。すべての標準SMTPコマンドに応答しますが、ユーザーにメッセージを配信しません。メッセージは、後で抽出および検証できるようにDumbster内に保存されます。
Dumbsterは、テスト戦略に簡単に組み込まれます。アプリケーションがSMTPを使用して電子メールサーバーと通信している限り、コードを変更せずにDumbsterを使用してアプリケーションをテストできます。
元のページが使用できなくなったため、さまざまなフォークが存在します。
Github Search を使用してさらに見つけることができます
私は Fake SMTP を好む。これはデスクトップアプリケーションです(jarファイルにパックされています)。 Javaで書かれているため、Linux/Mac/Windowsの両方から実行できます。
SubEthaSMTP ライブラリでWiserを使用できます。Wiserの目的はまさにあなたが望むもの、単体テストです。
GreenMail を試してください。 JUnitの使用を対象としていますが、必要なことを行う必要があります。特定のニーズに応じて、JBossインスタンスで実行するか、JUnitテストにメールを送信させることができます。
他にも似たようなソフトウェアがいくつかありますが、それは私が使用したものであり、かなり満足しています。
javamail-file-transportは、メールをSMTPサーバー経由で送信する代わりにファイルに保存します。
GitHubのjavaMail extensionsプロジェクトを参照してください。
以下を許可するfile transportを追加します。
text
形式でファイルに保存するmbox
形式でファイルに保存するleopardでは、OS-X LeopardでローカルSMTPサーバー(Postfix)を起動できます
Sudo vi /System/Library/LaunchDaemons/org.postfix.master.plist
最後の終了タグの前:
<key>RunAtLoad</key> <true/> <key>KeepAlive</key> <true/>
そして、事を始める
Sudo postfix start
ここで、サービスが実行されているかどうかを確認します。
telnet localhost 25
Mailtrap を数回使用しましたが、お勧めできます。
アスピリンを使用 ドキュメントから:アスピリンは、Java開発者向けの埋め込み可能な送信専用SMTPサーバーです。
素晴らしいドッカー
https://hub.docker.com/r/mailhog/mailhog/
(gitHub- https://github.com/mailhog/MailHog )
このドッキングウィンドウには2つのポートがあります。
SMTP電子メール送信用の1つのポート(smtp://0.0.0.0:1025 /)
Web上の電子メール表示の2番目のポート( http://0.0.0.0:8025/ )
dockerを実行します:docker pull mailhog/mailhog
docker run --name=mailhog -d -p 1025:1025 -p 8025:8025 mailhog/mailhog