postfixがsmtpを中継するときにfromアドレスを強制する

AWS EC2インスタンスから電子メールレポートを取得しようとしています。私たちはExchange Online(Microsoft Online Servicesの一部)を使用しています。 SMTP relaying専用のユーザアカウントをセットアップしました。このサーバを介してメッセージを中継するためのすべての要件を満たすPostfixをセットアップしました。ただし、差出人アドレスが認証アドレスと正確に一致しない限り、Exchange OnlineのSMTPサーバーはメッセージを拒否します(エラーメッセージは550です5.7.1クライアントはこの送信者として送信する権限を持っていません)。

慎重な設定で、このユーザーとして送信するようにサービスを設定できます。しかし、私は慎重であるという巨大なファンではありません – 私はむしろポストフィックスに問題を強制します。これを行う方法はありますか?

ベストアンサー
これは実際にpostfixで行う方法です。

この設定では、発信元アドレスと中継SMTPメールトラフィックの両方から送信者アドレスが変更されます。

/etc/postfix/main.cf:

sender_canonical_classes = envelope_sender, header_sender
sender_canonical_maps =  regexp:/etc/postfix/sender_canonical_maps
smtp_header_checks = regexp:/etc/postfix/header_check

サーバー自体から送信された電子メールからエンベロープアドレスを書き換えます。

/ etc / postfix / sender_canonical_maps:

/.+/    newsender@address.com

SMTP中継された電子メールのアドレスから書き直す

/ etc / postfix / header_check:

/From:.*/ REPLACE From: newsender@address.com

すべての多機能と複数のアプリケーションで使用されているローカルリレーSMTPサーバを使用している場合には非常に便利です。

Office 365 SMTPサーバーを使用する場合、認証されたユーザーからの電子メールとは異なる送信者アドレスを持つメールはすべて拒否されます。上記の設定はこれを防ぎます。

転載記事の出典を記入してください: postfixがsmtpを中継するときにfromアドレスを強制する - コードログ