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.