reject_unknown_client_hostname에 예외를 만들 수 있습니까?


11

외부 SMTP에서 오류가있는 일부 이메일을 차단 450 4.7.1 Client host rejected: cannot find your hostname하고 reject_unknown_client_hostname있습니다. 이와 같이 역방향 주소를 확인하는 호스트 이름 자체에는 DNS 레코드가 없습니다. 이 문제를 해결할 가능성은 낮지 만 이메일을 받아야합니다.

그렇다면이 규칙을 피하기 위해 일종의 예외를 구성 할 수 있습니까?

답변:


14

특정 클라이언트가 다음을 무시하도록 허용 할 수 있습니다 smtpd_client_restrictions.

smtpd_client_restrictions =
  check_client_access hash:/etc/postfix/client_access,
  reject_invalid_hostname

먼저에 지정된 작업을 수행하고 client_access여기에 나열된 규칙과 일치하지 않으면 유효한 도메인이없는 발신자를 거부합니다.

client_access의 구문은 다음과 같습니다.

1.2.3.4    OK
bad.domain REJECT

이 파일이 설정되면 다음 명령을 실행하여이 파일의 색인 버전 (db)을 생성하십시오.

postmap /etc/postifx/client_access

접미사를 다시로드하면 괜찮을 것입니다.

액세스 테이블대한 추가 문서

smtpd_client_restrictions 에 대한 추가 정보

편집 : 어떤 이유로이를 디버깅 해야하는 경우 서비스에 누가 연결하고 있는지에 따라 smtpd에서 디버깅을 활성화 할 수 있습니다. 편집 /etc/postfix/master.cf하고 smtpd 서비스를 찾은 후 다음과 같은 행을 추가하십시오.

smtp      inet  n       -       -       -       -       smtpd
       -o debug_peer_level=10 -o debug_peer_list=1.2.3.4

피어 1.2.3.4에 대해서만 디버그가 가능 합니다 . 이것은 클라이언트 1.2.3.4가 메일 로그를보고 이메일을 보내기 위해 smtp 서비스에 연결할 때 발생하는 상황에 대한 아이디어를 제공합니다.


어떤 이유로 작동하지 않습니다. 이것을 디버깅하는 방법이 있습니까?
Daniel C. Sobral

답을 확인하십시오. 나는 당신을 괴롭히는 피어에 대해서만 시나리오를 디버깅하는 방법에 대한 정보를 편집하고 넣었습니다.
Torian

고맙지 만 문제가 무엇인지 안다고 생각합니다. 전자 메일을 거부하는 발신자 규칙이 아니라 클라이언트 규칙입니다. 그래서 잘못된 위치에서 변경을하고있었습니다. 방금 클라이언트에 대한 구성을 설정하고 있습니다 (smtpd_client_restrictions의 check_client_access). 모든 것이 잘되면 여기에 메모를 게시합니다. 나는 것이다 하지만 대답을 수락하기 전에 수정해야 할 텍스트를 부탁드립니다. :-) 어쨌든, 올바른 방향으로 나를 보내 주셔서 감사합니다.
Daniel C. Sobral

사실, 당신은 옳습니다. smtpd_client_restrictions를 통해 수신 한 수신자가 아닌 역방향 DNS 레코드가없는 클라이언트 문제가 해결됩니다. 이 문제를 해결하는 방법은 비슷합니다. 답을 수정하겠습니다. 환영합니다. 실수를 지적 해 주셔서 감사합니다.
Torian

이 스택 플랫폼에서이 유용한 게시물을 편집하기에 충분한 포인트가없는 것 같습니다. 쉽게 놓칠 수있는 약간의 오타 "postifx"가 있습니다.
BurninLeo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.