私のwebb-appユニットテストをローカルの開発環境、つまり電子メール配信が関係する環境で機能させるために、postfixをインストールしました。
ユニットテストを実行するたびに、同僚から多数のメールが届いていることを確認してください。そのため、送信メールが実際に外部に配信されるのではなく、ファイルシステム上の任意のディレクトリに書き込まれるようにpostfixを構成したいと思います。
かなりの量の検索を行いましたが、自分のニーズに固有の解決策が見つかりませんでした。私が見つけることができる最も近い解決策は、以下にリンクされているように、カスタムスクリプトを介してメールをルーティングすることですが、これはまだトリックを実行していません。
助けてくれてありがとう-
はい、可能です。次の行を/etc/postfix/master.cfに追加します。
fs_mail unix - n n - - pipe
flags=F user=%YOUR_USER_NAME% argv=tee /home/%YOUR_USER_NAME%/fs_mail.dump
次に、この行を/etc/postfix/main.cfに追加します。
default_transport = fs_mail
そして、Postfixサーバーを再起動します
Sudo /etc/init.d/postfix restart
そして、すべての送信メールをホームフォルダのfs_mail.dumpファイルに保存する必要があります(%YOUR_USER_NAME%を実際のユーザー名に置き換えます;))
Postfixに付属のsmtp-sinkユーティリティを使用できます。
smtp-sink -u root -d%d。%H.%M.%S 192.168.1.10:25 10
smtp-sinkはtimestamp.hexでファイルを書き出します
乾杯
P.S.
あなたはベストアンサーの受け入れにかなり迅速でした。
P.P.S.
あなたは特に接尾辞について言及したので、私はsmtp-sinkについて言及しましたが、fakemailはファイルを[email protected]として書き出すので、私見の方がうまく機能します。ここで、Nは同じアドレスのオカレンスです。 http://sourceforge.net/projects/fakemail/
1つの方法は、すべてのメールをローカルアカウントにリダイレクトすることです。
#main.cf
header_checks = regexp:/etc/postfix/header_checks
#/ etc/postfix/header_checks
/./ REDIRECT [email protected]
最も簡単な方法であるIMHOは、開発マシンでローカルの電子メールアドレスを作成し、そのアドレスへのすべてのメールをリダイレクトして後で破棄します。
いくつかのヒントについては ここ を見てください。