
私のユーザーの1人が外部アドレスに送信したメールを自動的に削除/削除するようにPostfixをどのように設定しますか?
次のTransport_mapsを使用して、外部アドレスに送信されたすべてのメールを削除できました。
example.com :
* discard:
しかし、私はこのルールをPostfixサーバーの1人のユーザーにのみ適用したいと思います。
また、外部およびローカルアドレスに送信されたメールは、ローカルユーザーにのみ送信する必要があります。
なぜこれが必要ですか?
私が働いている会社では、インターンが顧客に直接電子メールを送ってはいけないと思います。したがって、インターンはクライアントのアドレスを使用してメールを送信し、to
ここにスーパーバイザーを追加しますcc
。その後、Postfixは、クライアントのアドレスを取得することなく、クライアントにメールを確認して送信できるように、スーパーバイザにメールを転送するだけです。
答え1
OPが望むことを達成するためには、伝送レベルで確認する必要がありましたが、これは単純なものでした。
次の行を追加します。/etc/postfix/main.cf
sender_dependent_default_transport_maps = hash:/etc/postfix/sender_transport_maps
作る/etc/postfix/sender_transport_maps次のように
[email protected] discard
postfixマッピングファイルの生成とpostfixの再起動
cd /etc/postfix postmap sender_transport_maps service postfix restart
postfixはアウトバウンドメールにのみトランスポートマッピングを使用するため、この方法は効果的です。この場合、通常のsmtpサービス(smtp:)を使用する代わりにpostfix DISCARDサービスを使用します。
答え2
sender_dependent_default_transport_mapsはまったく機能しません。デバッグを追加するためにmaster.cfでsmtpd -vvを使用しても機能しない理由(おそらく以前のpostfixバージョン)を教えるのには役立ちません。
代わりに、
smtpd_sender_restrictions = check_sender_access pcre:/etc/postfix/sender_domains, discard
sender_domainsファイルには次のものが含まれています。
/[email protected]/ DISCARD
/@domain.com/ OK
たとえば、postfixを再起動します(PCREファイルは不要またはpostmap'dできません)。