2011-12-22 34 views
33

電子メールを送信するためのJavaコードをテストする必要があります。私は商用メールクライアントを使用したり、外部のメールプロバイダ(GmailやYahooなど)に接続したくない。私は、私のソフトウェアでメールの送受信に使用できるダミーのメールアドレスとサーバー(ローカル)をユーザーが設定できるようにするソフトウェアがあるかどうかを知りたいと思います。 Javaコードの機能をテストしたいだけです。単純なローカルSMTPサーバー

+0

.. http://enbiso.github.io/dummy-smtp-server/ –

答えて

20

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

Dumbsterは、電子メールメッセージを送信ユニットと システム試験アプリケーション用に設計された非常にシンプルな偽のSMTPサーバです。 すべての標準SMTPコマンドに応答しますが、ユーザーにメッセージを配信しません。 メッセージは後で抽出して の確認のためダンベスターに保存されます。

ダンブスターは、テスト戦略に非常に簡単に対応します。アプリケーションがSMTPを使用して電子メールサーバーと通信する間は となりますので、 ダンブスターを使用してコードを変更せずにアプリケーションをテストできます。

+0

ああ、それは私が覚えてしようとしていた他の一つだこれをチェックしてください!私はそれを見てすぐに私がそれを認識することが分かっていたが、私は名前を思い付くことができなかった。 – Argyle

+0

ダンスターが[壊れている](http://sourceforge.net/p/dumbster/bugs/15/)。 –

+0

_補足として:_元々の "ダンブスター"の[いくつかの_forks_](https://github.com/search?utf8=%E2%9C%93&q=dumbster&type=)には、さまざまな形で機能が向上しています。 – informatik01

7

お試しGreenMailこれはJUnitの使い方に合わせて作られていますが、必要なことを行う必要があります。 JBossインスタンスで実行することも、JUnitテストで特定のニーズに応じてメールを送信することもできます。

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

8

SubEthaSMTPライブラリでWiserを使用することができます.Wiserの目的は、ユニットテストとまったく同じです。

+0

Wiserサンプルコード:http://code.google.com/p/subethasmtp/wiki/Wiser – palacsint

+0

また、私の単体テストが2 htmlの電子メールを送信したときに壊れました。 GreenMailはそれを正しく、幸いにも処理します。 – okutane

+0

okutane:私は3人の受信者を合計して2通のメールを送ったと思います。 Wiser APIは、受信者によってメールを返します。最後にリリースされたバージョンではありませんが、このトランクには更新されたJavaDocが含まれています。 "メールトランザクションの数とメールの数は異なる場合があります。メール トランザクションの場合、リストにはWiserMessageインスタンスが1つずつ追加されます。各受信者には が1つ含まれています。 –

3
あなたが最後に終了タグの前に、OS-X Leopardの

sudo vi /System/Library/LaunchDaemons/org.postfix.master.plist 

にローカルSMTPサーバー(Postfixの)開始することができますヒョウの

<key>RunAtLoad</key> <true/> <key>KeepAlive</key> <true/> 

が、その後

で事を始めます
sudo postfix start 

サービスが実行されていることを確認します。

telnet localhost 25 
3

javamail-file-transportは、SMTPサーバー経由で送信するのではなく、ファイルに電子メールを保存します。

javaMail extensions project in GitHubを参照してください。

それが可能にファイル転送追加:ファイルへのメールの保存

  • text形式ではなく、ファイルへのメールの保存
  • それらを送信mbox形式ではなく、
  • それらを送信するには情報をログに追加電子メールを送信する代わりに
12

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

+0

これは、少なくとも春のアプリケーションでは、非侵襲的かつクリーンなソリューションです – Stackee007

1

を、それを実行することができ、私はMailtrap数回使用しました、と私はそれをお勧めすることができます。

0

smtp4devを使用できます。詳細はhereをご覧ください。

0

use the Aspirinドキュメントから:Aspirinは、Java開発者のための埋め込み可能な送信専用SMTPサーバーです。

0

驚くべきドッカー
https://hub.docker.com/r/mailhog/mailhog/
(githubの - https://github.com/mailhog/MailHog)このドッカーは、2つのポート有し

つのSMTPメール(SMTP://0.0.0.0:1025 /)を送信するためのポート
秒Web上での電子メールの表示にポート(http://0.0.0.0:8025/

実行ドッキングウィンドウ:
docker pull mailhog/mailhog
docker run --name=mailhog -d -p 1025:1025 -p 8025:8025 mailhog/mailhog

関連する問題