Postfix는 해당 도메인에 대한 PTR 조회가 성공했음에도 불구하고 몇몇 서버의 메일을 지속적으로 거부하는 것 같습니다. 아래 로그를 참조하세요. 이 작업을 수행하기 위해 무엇을 할 수 있는지에 대한 아이디어가 부족합니다. 다른 도메인으로 보내는 데 오류가 없기 때문에 보내는 서버에 문제가 없다고 확신합니다.
Oct 26 09:08:32 mail postfix/smtpd[16158]: NOQUEUE: reject: RCPT from
unknown[XX.XX.XX.XX]: 450 4.7.1 Client host rejected: cannot find your hostname,
[XX.XX.XX.XX]; from=<[email protected]> to=<[email protected]> proto=ESMTP
helo=<somedomain.com>
[root@mail log]# dig -x XX.XX.XX.XX
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.23.rc1.el6_5.1 <<>> -x XX.XX.XX.XX
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26837
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 6, ADDITIONAL: 6
;; QUESTION SECTION:
;XX.XX.XX.XX.in-addr.arpa. IN PTR
;; ANSWER SECTION:
XX.XX.XX.XX.in-addr.arpa. 7813 IN PTR somedomain.com.
;; Query time: 417 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Oct 26 09:24:25 2014
;; MSG SIZE rcvd: 66
답변1
데이터를 익명화했기 때문에 100% 대답할 수는 없지만 Postfix는 일치하는 PTR 및 A 레코드는 물론 HELO 명령에서 "somedomain.com"으로 보이는 메일 서버가 주장하는 호스트 이름을 찾고 있습니다. 난독화된 로그 메시지에 있습니다.
이는 다음에 의해 제어됩니다.
reject_unknown_sender_domain
reject_unknown_client_hostname
reject_invalid_helo_hostname
Postfix 구성 매개변수http://www.postfix.org/postconf.5.html
답변2
나는 이것이 오래된 스레드라는 것을 알고 있지만 답변에 좀 더 질감을 추가하고 싶었습니다.
실제로 보낸 사람의 도메인에 문제가 있습니다. @milli가 지적했듯이 PTR과 A 레코드는 일치해야 하지만 그렇지 않습니다.
postfix가 receive_unknown_sender_domain으로 구성된 경우 postfix는 다음 확인을 수행합니다.
1) DNS에서 PTR 레코드 검색 - PTR 레코드가 없으면 이메일을 거부합니다.
2) PTR의 도메인에 대한 DNS에서 A 레코드를 검색합니다. A 레코드의 IP가 연결된 MX의 IP와 일치하지 않으면 이메일을 거부합니다.
예를 들어 MX는 IP 74.125.195.27에서 연결됩니다.
$ host 74.125.195.27
27.195.125.74.in-addr.arpa domain name pointer wj-in-f27.1e100.net.
$ dig a wj-in-f27.1e100.net. +short
216.239.32.27
66.102.12.27
74.125.195.27
이 경우 PTR 레코드에 있는 도메인의 A 레코드에는 연결된 호스트와 동일한 IP 주소가 포함되어 있습니다. 이 이메일은 거부되지 않습니다.
그러나 대부분의 경우 "문제"는 다음과 같습니다.
$ host 216.117.130.109
109.130.117.216.in-addr.arpa domain name pointer jalequity.com.
$ dig a jalequity.com. +short
104.239.175.211
PTR 레코드에 있는 도메인의 A 레코드가 연결된 호스트의 A 레코드와 일치하지 않습니다. 이 이메일은 "클라이언트 호스트 거부됨: 호스트 이름을 찾을 수 없습니다"라는 메시지와 함께 거부됩니다.
이로 인해 발생하는 가장 일반적인 실수는 하위 도메인이 아닌 실제 도메인(이 예에서는 "jaleequity.com")을 PTR 레코드에 넣는 것입니다. 이 문제를 해결하려면 발신자는 PTR 레코드를 mail.jalequity.com과 같은 것으로 수정한 다음 IP 주소 216.117.130.109를 사용하여 mail.jalequity.com에 대한 A 레코드를 추가해야 합니다. 해당 서버에서 전송되는 추가 이메일은 모두 허용됩니다.
가장 좋은 해결책은 발신자가 DNS 레코드를 수정하는 것입니다.
대체 수정 사항은 "reject_unknown_sender_domain"에서 "reject_unknown_reverse_client_hostname"으로 접미사 제한을 완화하는 것입니다. 그러나 이 조치에는 결과가 있습니다. 주로 대부분의 스패머는 PTR 레코드를 가지고 있으므로(A 레코드와 일치하지 않음) 접미사 제한을 완화하면 중요한 이메일을 놓치지 않을 수 있을 뿐만 아니라 귀하의 스팸 필터는 지속적으로 작동하고 있습니다!