27

私は、全員にスパムを送信する前にテストしたい多数 (~100) のクライアントにレポートを電子メールで送信するプログラムを作成しています。

運用データに対してテストを実行し、実際にメッセージを SMTP サーバーに送信したいのですが、SMTP サーバーが実際にメッセージを配信したくありません。アプリケーションの観点からは、サーバーが実際の SMTP サーバーのように動作するようにしたいのですが、メッセージを配信する代わりに、メッセージを保存し、何が起こったかをログに記録したいだけです。

テスト用に特別に設計された SMTP サーバーはありますか?

上記のように動作するようにeximまたはpostfixを構成する方法を知っている人はいますか

大量メール配信をテストするために何を使用しますか?

4

14 に答える 14

15

Javaではダムスターを使用できます

使い方は簡単で、傍受している電子メールのあらゆる側面を検証できます。

これは、単体テストを目的とした Java SMTP サーバーの実装です。(ダムスターを実行しているマシンにメールをリダイレクトすることを確認してください...)


ほぼ同じことを行う別の代替手段を見つけました:Greenmail

Greenmail は POP3、SSL を使用した IMAP もサポートしているため、クライアントをテストすることができます。

于 2008-10-27T20:29:28.410 に答える
9

.NET の場合、メールをフォルダーに配信するように構成ファイルを設定すると、自動テストでディレクトリとファイルを検査できます。

<system.net>
 <mailSettings>
  <smtp deliveryMethod="SpecifiedPickupDirectory">
   <specifiedPickupDirectory pickupDirectoryLocation="c:\pickupDirectory"/>
  </smtp>
 </mailSettings>
</system.net>
于 2008-10-31T13:27:57.380 に答える
5

電子メールテストに適したプログラムはsmtp4dev(Windowsのみ)です。

ダミーのSMTPサーバーです。システムトレイに置かれ、受信したメッセージを配信しません。受信したメッセージは、すばやく表示、保存、およびソース/構造の検査を行うことができます。

http://smtp4dev.codeplex.com/

于 2010-08-28T11:50:31.670 に答える
5

「メールの単体テストのための Wiser フレームワーク」

他の数人の開発者が Dumbster から Wiser に移行したと聞いており、私のテスト コードも移行しました。私が取り組んできた Java コンポーネントの 1 つは、1 日に何千通ものメールを送信します。Dumbster と Wiser を使用して、さまざまなメール テンプレートとシナリオの単体テストを作成しました。私はワイザーの方が好きです。

Wiser Web サイト ( http://code.google.com/p/subethasmtp/wiki/Wiser ) からの抜粋:

Wiser は Dumbster のスマートな代替品であり、Java アプリケーションがシンプルでわかりやすい API を使用して SMTP メールを受信できるようにする SubEtha SMTP Java ライブラリの上に構築されています。

于 2009-07-06T03:07:19.950 に答える
5

オプションを検索しているときに、次のような便利なものを見つけました。

于 2008-10-28T22:33:14.150 に答える
2

あなたが exim と postfix (私はある種の UNIX のものだと思っています) について言及していることを考えると、この答えはそれほど役に立たないかもしれませんが、Neptuneをチェックしてください。これは、自動テスト用に設計された偽の SMTP サーバーです。予備の Windows ボックスが浮かんでいる場合は、その上に Neptune を配置してから、Neptune サーバーを「介して」送信するようにアプリを構成できます。

于 2008-10-27T20:56:00.353 に答える
2

http://skaraarslan.blogspot.com/2008/02/how-to-check-email-works-without-using.html

(これは、メールの送信に .net を使用していることを前提としています)

于 2008-10-27T20:30:47.923 に答える
1

Eximは、受信メールを受け入れるように構成できますが、それらを配信することはできません。ドキュメントでキーワードqueue_onlyqueue_only_fileを探します。

于 2009-03-01T01:11:02.930 に答える
0

Sendmail にはテストモードがあります。

-btパラメーターを指定して sendmail を呼び出すだけです。例として:

/usr/lib/sendmail -bt -Ciu-testconfiguration.cf

この方法では、Sendmail には書き換えルールに関する特別な設定が必要になることに注意してください。テスト モード用の .cf ファイルを適切に作成するには、Sendmail がアドレスを書き換える方法を理解する必要があります。


編集: この記事を参照してください: http://ussg.iu.edu/usail/mail/debugging/

于 2008-10-27T20:57:59.117 に答える
0

私のオフィスには、実際の宛先が誰であるかに関係なく、すべての受信メールを常に 1 つのアドレスに送信するように設定されたサーバーがあります。すべてのテスト環境をそのサーバーに向けて、QA メールボックスがいっぱいになるのを監視するだけです。どのサーバーかはわかりませんが、おそらく誰かが見つけたオープンソースのものでしょう。

于 2008-10-27T20:50:10.427 に答える
0

私は個人的に電子メール アドレスを変更してテストし、自分のダミー アカウントに送信して、送信したことだけでなく、適切な形式で表示されていることを確認します。

于 2008-10-27T20:28:41.280 に答える
0

私が見つけた解決策に満足できなかった後、使いやすく、100% Java --> クロスプラットフォームであるdevelopmentSMTPを書くことになりました。

電子メールのファイルへの書き込み、電子メールの転送、または単に stdout への印刷をサポートします。

于 2012-11-28T14:06:55.837 に答える