テストのためにすべての送信メールをpostfixから単一のアドレスにリダイレクトする方法


13

いくつかの電子メール通知を送信するWebベースのアプリケーションのテストサーバーを設定しています。

実際の顧客データを使用してテストが実行される場合があり、そのため、テスト中にサーバーが実際の顧客にメールを送信できないことを保証する必要があります。

私が望むのは、実際の宛先に配信するのではなく、送信メールを受け取り、単一のメールアドレスにリダイレクトするようにpostfixを設定することです。

Ubuntuサーバー9.10を実行しています。

前もって感謝します

回答:


19

トラップされたすべてのメールを受信するようにローカルユーザーを設定します。

adduser mailtrap

main.cfに追加する必要があります。

transport_maps = hash:/etc/postfix/transport
luser_relay = mailtrap

次に、これを使用して/ etc / postfix / transportを作成します。

localhost :
your.hostname.example.com:
* local:mailtrap

保存してから実行: postmap /etc/postfix/transport最終的にpostfixを再起動しますinvoke-rc.d postfix restart

すべてのローカルメールは通常どおり配信され、外部メールはローカルmailtrapアカウントに配信されます。


これはまさに私が探していたものです...ありがとう!
thatjuan

3
私のためには動作しますが、に追加luser_relay = xxxxxした後だけmain.cfです。これがなければ、メールは跳ね返ります。
アレックスR

1
Ubuntuを使用している場合は、でPostfixを再起動することもできますsudo service postfix restart。上記のmain.cfファイルの場所は/etc/postfix/main.cfです。Postfixを初めてインストールして設定するときに、Local onlyインストールオプションを使用できます。
mtnorthrop

MAC上であなたが実行する必要がありますpostmap hash:/etc/postfix/transportsudo postfix stopsudo postfix start
バンダオ

これは素晴らしい。メッセージに複数の受信者がいるときに重複を排除する方法を知っている人はいますか?
graywh

10

より良いのは、仮想エイリアスファイルを作成することです。

/etc/postfix/main.cf内:

virtual_alias_maps = pcre:/etc/postfix/virtual

/ etc / postfix / virtual内:

/.*@.*/ root

rootすべての送信メールを受信したいユーザーに置き換えることができます。ローカルメールを通常の方法で(リダイレクトなしで)配信する場合は、このパターンを調整できます。

/.*@(?!hostname\.localdomain$).*/ root

ここにある元のアイデア: Postfix開発サーバー-すべての送信メールを傍受する


2
sudo apt-get install postfix-pcre驚きを避けるために、事前に必要になる場合があることに注意してください。
ミラビロス

私にはとてもうまくいきます!
マイケルマムート

エラー「仮想エイリアステーブル内のユーザー不明」
アレックス・R

5

Postfixはsmtp-sinkと呼ばれるものを提供します。デフォルトでは、受信したすべての電子メールをブラックホール化します。それ以降のバージョンは、ファイル内の電子メールをキャプチャするように構成することもできます。

これは、技術的にはpostfixを使用しません(ただし、postfixが提供するユーティリティです)。また、各電子メールを単一の電子メールアドレスに技術的にリダイレクトしません。ただし、ポート25のすべてのトラフィックをキャプチャし、それを解析可能なファイルにダンプします。


smtp-sinkを呼び出す方法は?オンラインで見つけた1つのマンページは、通常のプログラムのように見えましたが、postfixが付属している場合、システムにインストールされていません(OSX 10.6)。これはどのようにサービスを実行しますか?
クリスブルーム

smtp-sinkのマンページがあります。ただし、いくつかのパラメーターについてもここで説明します。blog.malowa.de
mailq
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.