내 사용자 중 한 명이 외부 주소로 보낸 메일을 자동으로 삭제/삭제하도록 Postfix를 어떻게 구성합니까?
다음 Transport_maps를 사용하여 외부 주소로 보낸 모든 메일을 삭제할 수 있었습니다.
example.com :
* discard:
그러나 나는 이 규칙을 Postfix 서버의 한 사용자에게만 적용하고 싶습니다.
또한 외부 및 로컬 주소로 전송된 메일은 로컬 사용자에게만 전송되어야 합니다.
왜 이것이 필요합니까?
제가 일하는 회사에서는 인턴이 고객에게 직접 이메일을 보내서는 안 된다고 생각합니다. 따라서 인턴은 클라이언트의 주소를 사용하여 메일을 보내고 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될 수 없습니다).