web-dev-qa-db-ja.com

シンプルなローカルSMTPサーバー

メールを送信するためのJavaコードをテストします。商用メールクライアントを使用したり、GmailやYahooなどの外部メールプロバイダーに接続したりしません。ユーザーがダミーの電子メールアドレスとサーバーで(ローカルで)サーバーを構成できるソフトウェアがある場合は、ソフトウェアで使用してメールを送受信できます。Javaの機能をテストしたいだけです。 =コード。

40
sathish kumar

電子メールのテストについては、Dumbsterを試してください。彼らのページから:

Dumbsterは、電子メールメッセージを送信する単体およびシステムテストアプリケーション用に設計された非常に単純な偽のSMTPサーバーです。すべての標準SMTPコマンドに応答しますが、ユーザーにメッセージを配信しません。メッセージは、後で抽出および検証できるようにDumbster内に保存されます。

Dumbsterは、テスト戦略に簡単に組み込まれます。アプリケーションがSMTPを使用して電子メールサーバーと通信している限り、コードを変更せずにDumbsterを使用してアプリケーションをテストできます。

元のページが使用できなくなったため、さまざまなフォークが存在します。

Github Search を使用してさらに見つけることができます

25
Matthew Farwell

私は Fake SMTP を好む。これはデスクトップアプリケーションです(jarファイルにパックされています)。 Javaで書かれているため、Linux/Mac/Windowsの両方から実行できます。

17

SubEthaSMTP ライブラリでWiserを使用できます。Wiserの目的はまさにあなたが望むもの、単体テストです。

9

GreenMail を試してください。 JUnitの使用を対象としていますが、必要なことを行う必要があります。特定のニーズに応じて、JBossインスタンスで実行するか、JUnitテストにメールを送信させることができます。

他にも似たようなソフトウェアがいくつかありますが、それは私が使用したものであり、かなり満足しています。

8
Argyle

javamail-file-transportは、メールをSMTPサーバー経由で送信する代わりにファイルに保存します。

GitHubのjavaMail extensionsプロジェクトを参照してください。

以下を許可するfile transportを追加します。

  • メールを送信する代わりにtext形式でファイルに保存する
  • メールを送信する代わりにmbox形式でファイルに保存する
  • メールを送信する代わりにログ情報を追加する
3
m-szalik

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
3
thegrunt

Mailtrap を数回使用しましたが、お勧めできます。

3
tomaj

アスピリンを使用 ドキュメントから:アスピリンは、Java開発者向けの埋め込み可能な送信専用SMTPサーバーです。

1
Pavel Korshikov

素晴らしいドッカー
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

1
hana9

smtp4dev を使用できます。詳細をご覧ください こちら

0
Amit Gupta