postfix의 check_recipient_access 맵이 정규식을 허용합니까?

postfix의 check_recipient_access 맵이 정규식을 허용합니까?

내 postfix 구성을 업데이트하여 이메일을 보낼 수 있는 도메인을 제한하려고 합니다. 이 솔루션을 기반으로 check_recipient_access와 함께 smtpd_recipient_restrictions를 사용할 생각입니다.https://serverfault.com/a/412805 정규식을 허용합니까? *@mydomain.com으로만 이메일을 보내고 다른 모든 사람은 차단하고 싶습니다. 이 같은:

smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/recipients

수신자는 다음과 같습니다.

*@mydomain.com PERMIT,
* REJECT,

이것이 가능합니까?

편집: 나는 이것이 TransportMap으로 가능하다는 것을 알고 있지만 우리는 이미 몇 가지 ID를 차단하기 위해 check_recipient_access를 사용하고 있으며 가능하다면 다른 구성을 도입하지 않는 것을 선호합니다.

답변1

응, 봐남자 5 regexp_table.

형식이 다르므로 전체 정규 표현식을 철자해야 합니다.

/.*@example\.com/ OK
/.*/ REJECT

아니면 더 짧거나,

!/.*@example\.com/ REJECT

(기본 작업은 "찾을 수 없음"이므로 다음 smtpd_recipient_restrictions항목으로 계속 진행되며 기본적으로 허용됩니다).

파일에 저장하고 다음과 같이 연결하세요.

smtpd_recipient_restrictions =
...
    check_recipient_access regexp:/etc/postfix/my_regexp_recipients.cf,
...

Postfix는 버전 3.7부터 정규 표현식 인라인 지정을 허용합니다. 테이블이 매우 짧아서 다음과 같이 끝날 수도 있습니다.

smtpd_recipient_restrictions =
...
    check_recipient_access regexp:{ { !/.*@example\.com/ REJECT } },
...

추가 파일은 없습니다.


조심하세요. 너필요다른 제한 항목이 있습니다. 이 매개변수나 기타 매개변수( 등) *@example.com에서 이에 대한 조치를 취하지 않으면 이렇게 설정하는 것만으로도 서버가 을(를) 향한 공개 릴레이가 될 수 있습니다 .smtpd_*_restrictionsreject_sender_login_mismatch

관련 정보