ユーザーにメールを送信するウェブアプリの開発を行っています。私は通常、Windows環境でArgosoft Mail Server(Freeware)をSMTPサーバーとして使用し、リレーを有効にしましたが、実際の配信をシャットダウンしました。これにより、Webアプリがローカルサーバーを指すようになり、送信キューを確認することで送信されるすべての電子メールを検証できます。さらに、100%安全にするために、存在しないDNSサーバーを使用して、誤って配信を有効にした場合でも、サーバーが外部アドレスを検索してメールを配信できないようにします。
OSXマシンで開発を行っているので、同様のソリューションを探しています。デフォルトでは、OSXにはPostfixがインストールされているので、それを使用して同様に構成することにしました。ただし、すべての送信メールを無効にするオプションがどこにも見つからないようです。基本的に、Postfixをオープンリレーサーバーとして設定したいのですが、すべてのメールの配信を無効にします。次に、送信キューを調べて、電子メールが期待どおりであるかどうかを確認できます。
これを簡単に達成する方法はありますか?または、私が使用できるより良い解決策はありますか?
main.cf
に、次のcheck_recipient_access
をsmtp_sender_restrictions
の最初のオプションとして入力します 2
smtpd_sender_restrictions =
check_recipient_access regexp:/etc/postfix/onhold
...
...
次のコンテンツで/etc/postfix/onhold
を作成します
/example\.com$/ DUNNO
/^/ HOLD
Example.comの電子メールを除いて、すべてが保留キューに入れられます。
接尾辞に基づく サイト 、変更
queue_run_delay = 3600
デフォルトは300で、5分です。 3600に変更すると、1時間に1回再試行されます。 86400(24時間)に変更してみてください。これで、電子メールの内容をテストおよび検査するための十分な時間が与えられるはずです。