답변:
transport (5) 맵은 이메일이 postfix로 라우팅되는 방식을 재정의하는 데 사용됩니다.
/etc/postfix/main.cf에 다음 줄을 추가하십시오 :
transport_maps = hash:/etc/postfix/transport
이 내용으로 새 파일 / etc / postfix / transport를 추가하십시오.
.example.com :
example.com :
* discard:
대체 example.com
당신의 메일 서버는 여전히에 메일을 보내야 도메인과. 하위 도메인에 신경 쓰지 않으면 첫 번째 줄을 제거하십시오.
postmap (1) 로 파일을 편집 한 후 해시하고 postfix를 다시로드하여 변경 사항을 적용하는 것을 잊지 마십시오 .
# postmap /etc/postfix/transport && postfix reload
표준 smtpd_recipient_restrictions 또는보다 정확하게 check_recipient_access로 수신자를 쉽게 제한 할 수 있습니다 .
그냥 만들 액세스 (5) 테이블 /etc/postfix/access
(다음과 같은 내용으로 example.com을 당신에게 메일을 보낼 수 있도록 할 도메인 인) :
example.com OK
특정 주소 만 허용 할 수도 있습니다.
user1@example.com OK
user2@example.com OK
postmap (1)으로 파일을 편집 한 후 파일을 해시하는 것을 잊지 마십시오 :
# postmap /etc/postfix/access
이제 main.cf에 다음 수신자 제한을 두십시오.
smtpd_recipient_restrictions =
hash:/etc/postfix/access
reject
Postfix를 다시로드하십시오.
postfix reload
그런 다음 작동하는지 테스트하십시오 .
따라서 누군가가 내가 한 것처럼이 문제를 우연히 발견하면 대답은 실제로 header_checks 이며 다음과 같이 작동합니다.
다음 줄을 추가하십시오 /etc/postfix/main.cf
.
header_checks = regexp:/etc/postfix/header_checks
/etc/postfix/header_checks
이 내용으로 새 파일 을 추가하십시오 .
/^To:.*@allowed-domain.com/ DUNNO
/^To:.*@/ REDIRECT redirect@example.com
대체 allowed-domain.com
당신의 메일 서버는 여전히에 메일을 보내야 도메인과. 대체 redirect@example.com
다른 모든 이메일로 리디렉션해야하는 이메일 주소로.
여러 도메인을 허용해야하는 경우 첫 번째 줄은 다음과 같아야합니다.
/^To:.*@(allowed-domain.com|another-domain.com)/ DUNNO
리디렉션하는 대신 다른 모든 메일을 간단히 삭제할 수 있습니다. 위의 두 번째 줄을 다음으로 바꾸십시오.
/^To:.*@/ DISCARD No outgoing mails allowed
설명:
header_checks
파일 단위로 일치 합니다.To:
허용 된 도메인 포함) 과 일치하면 다음 헤더 행으로 건너 뛰고 맨 위에서 다시 헤더 검사를 시작합니다. 일치하는 다른 회선이 없으므로 메일이 배달됨을 의미합니다.To:
다른 외부 전자 메일 주소 포함) 메일을 리디렉션합니다.Cc:
와 Bcc:
?