특정 로컬 사용자가 외부 주소로 보낸 메일을 삭제하는 방법은 무엇입니까?

특정 로컬 사용자가 외부 주소로 보낸 메일을 삭제하는 방법은 무엇입니까?

내 사용자 중 한 명이 외부 주소로 보낸 메일을 자동으로 삭제/삭제하도록 Postfix를 어떻게 구성합니까?

다음 Transport_maps를 사용하여 외부 주소로 보낸 모든 메일을 삭제할 수 있었습니다.

example.com      :
*          discard:

그러나 나는 이 규칙을 Postfix 서버의 한 사용자에게만 적용하고 싶습니다.

또한 외부 및 로컬 주소로 전송된 메일은 로컬 사용자에게만 전송되어야 합니다.

왜 이것이 필요합니까?

제가 일하는 회사에서는 인턴이 고객에게 직접 이메일을 보내서는 안 된다고 생각합니다. 따라서 인턴은 클라이언트의 주소를 사용하여 메일을 보내고 to여기에 감독자를 추가합니다 cc. 그런 다음 Postfix는 클라이언트의 주소를 검색할 필요 없이 클라이언트에게 메일을 확인하고 보낼 수 있도록 감독자에게 메일을 전달하기만 하면 됩니다.

답변1

OP가 원하는 것을 달성하기 위해 전송 수준에서 확인해야 했는데 이는 간단한 것으로 나타났습니다.

  1. 다음 줄을 추가하십시오./etc/postfix/main.cf

    sender_dependent_default_transport_maps = hash:/etc/postfix/sender_transport_maps
    
  2. 만들다/etc/postfix/sender_transport_maps다음과 같이

    [email protected]   discard
    
  3. 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될 수 없습니다).

관련 정보