すべてのメールをキャッチするために偽のSMTPサーバーをセットアップする方法は?


50

メールを送信するのではなく、単にファイルに記録することを除いて、本質的にRFCに従うSMTPサービスを探しています

[date] sent mail to <address>

または何でも。pythonで必要な最低限の機能でこれをbashすることができますが、約30分で計算できますが、うまく機能する既存のプロジェクトがある場合は、それを使用します。

それを必要とする理由は、想定されている量のメールを7 *送信し続けるアプリをデバッグすることです。

編集:そしてすでに質問:https : //stackoverflow.com/questions/1006650/dummy-smtp-server-for-testing-apps-that-send-email


はい、この質問はstackoverflowで回答されましたが、Pythonベースの回答はそこにありませんでした。
-BitwiseMan

これはまたのstackoverflowに答えている:stackoverflow.com/questions/48653699/...
realbart

回答:


58

Pythonが横たわっている場合、これはSMTP会話をstdoutに書き込みます。

sudo python -m smtpd -n -c DebuggingServer localhost:25

http://docs.python.org/library/smtpd.html#debuggingserver-objects


私はそれを取り戻します、それはHTMLメールをサポートします。
HTTP500

2
デバッグする最良の方法です!
-MarZab

starttlsのサポートなし:(
Att Righ

1
@AttRighにはsmtplibにTLSが実装されていますが、これを使用するのはこれほど簡単ではありません。質問を投稿してください。多分誰かがすでにスクリプトを持っていますか?
ジョンミー

11

smtp-sinkPostfixの一部を見てください。動作させるためにPostfixを実行する必要はありません。実行可能ファイルをインストールするだけです。必要なものはすべて、コマンドラインパラメーターで構成できます。

http://www.postfix.org/smtp-sink.1.html


ありがとうmailq。これは多かれ少なかれ私が望んでいたことです!
-richo

8

mailcatcherと呼ばれるruby gemもあります。

統合されたウェブインターフェースを介して、ブラウザで直接メールを読むことができます。以下のホームページからスクリーンショットがあります。

メールキャッチャーインターフェース


1
現在、メールキャッチャーを使用していますが、クラッシュが多すぎます。
ジェイコブエヴァンス

6

開発およびステージング環境でhttp://mailtrap.io Webサービスを使用します。プラットフォームに依存せず、独自のSMTPを実行する必要はありません。

提供するもの:

  • 1か所ですべてのメール
  • 開発チームの受信トレイへの共有アクセス
  • 電子メールを分析する開発者ツール
  • 柔軟な構成

これは素晴らしいことであり、私がやっていたことよりもはるかに堅牢です!ありがとう。
リコ

(今のところ)寛大な無料プランを提供しているのが気に入っています。
デビッド

3

smtp4devは私にとってうまく機能しました。(Windowsのみ)


この素晴らしい小さなツールをインストールして使用しました。私のニーズにぴったり(javaと素敵なUIなし)
-Nick.McDermaid


2

免責事項:これは遅い答えですが、私はそれが将来の視聴者を助けると信じています。また、この製品に取り組んだことにも注意してください。

この正確な問題を解決するために、Mailosaurを構築しました。それ以来、テスト用の電子メールアドレスとSMTPを追加するために構築しました。



1

私はちょうどどんなSMTPサービスについてもフォークし、結果をビットバケットに送信します!


ただし、バルクメールと、関連するライブの顧客データについて話します。インタートロンをメールであふれさせないことを前向きに考える必要があります。
リチョ

pythonのsmtpd.SMTPServerクラスを拡張することにしました。プロジェクトに満足したら、1週間ほどでプロジェクトを公開します(しばらく前に書いたhttpdテストスイートに同梱しています)。暫定的にスイートsdbという名前を付けました。
リコ

@Richo:SMTPサーバーからのメール送信を停止する方法はたくさんあります-ほとんどの場合、送信接続をオフにしたり、すべてのメッセージを再ルーティングしたり、ポート25への送信接続をブロックしたりできます。このように動作するように実際のものを構成するのは簡単です。
symcbean

@symcbean:これらはすべて有効なポイントです。個人的には、通常のメールサービスを停止し、デバッグサービスを開始し、デバッグを実行してから、実際の環境を再度起動する方が簡単です。すべてのポート25のトラフィックをダンプするようなクラッジは、他のものがメールを送信できないようにします。助けてくれてありがとう、
リッチー

これは意味がありません。すべてのsmtpゲートウェイは、送信ライブメールを失うことなく、この正確な機能を提供します。
トニーロス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.