コンパイルされたWebアプリ(自分で書いたものではない)のテストインスタンスがあり、それを使ってテストを行いたいのですが、アプリにはクライアントのメールアドレスが含まれており、ないテスト中にメールを受信します。
現在、このウェブアプリは、mail1
さまざまなイベントが発生したときに通知メールを送信するために、特定のSMTPサーバー(と呼んでください)を使用しています。アプリやそのデータに行う必要のあるカスタマイズの量を最小限に抑えるには(テストを歪める可能性があります)、これらのメールを送信しないようにするための解決策として、mail2
送信メール アドレスを検査し、mail
特定のドメイン宛てのメールのみを中継する一時的なSMTPリレーを立ち上げるのではないかと考えています。そのドメイン宛てでないメールはすべて破棄するか、さらに良い方法として、ホワイトリストに登録されたドメインの別のアドレスに転送して、だろうホワイトリストに登録されていない場合は、クライアントに送信されませんmail2
。
これは、Postfix または Qmail で実行できるようなものでしょうか。もしそうなら、これを開始するための推奨事項はありますか。どちらもこれまで構成したことがなく、私が見落としているまったく別のメール制限ソリューションがあるのではないかと考えています。Gmail/Google Apps で実行できるものもあるかもしれません。
答え1
設定と基盤となるディストリビューションによって異なります (Linux を使用していると仮定します)。個人的には、ディストリビューションのツールを使用することをお勧めします。したがって、ディストリビューションが Postfix を使用している場合は、Postfix を使用します。Sendmail を使用している場合は、Sendmail を使用します。
とにかく、シンプルな SMTP ゲートウェイを設定するのは非常に簡単なので、Postfix をお勧めします。
答え2
結局、Postfix でこれを行いました。main.cf ファイルの重要な部分は次のとおりです。
relayhost = [mail1.mydomain.com]
smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/rcpt_whitelist, reject
rcpt_whitelist には以下が含まれます:
whitelisted1.com OK
whitelisted2.com OK
それから私はpostmap hash:rcpt_whitelist
それをロードしました。