스팸과 싸우기 위해 FQDN을 사용하는 대신 sendmail이 localhost라고 말하도록 하려면 어떻게 해야 합니까?

스팸과 싸우기 위해 FQDN을 사용하는 대신 sendmail이 localhost라고 말하도록 하려면 어떻게 해야 합니까?

내 도메인의 메일을 수신하기 위해 sendmail을 사용하기 시작했을 때 서버의 FQDN이 잘못 설정되어 다른 MTA가 해당 서버에 연결되면 localhost로 나타납니다.

이것은 잘 작동하는 것 같습니다. 즉 다음과 같습니다.

My Server: 220 localhost.localdomain ESMTP
Client: EHLO example.com
My Server: 250 localhost.localdomain

올바른 도메인으로 가장하고 있기 때문에 메일도 잘 보낼 수 있습니다. 이 도메인에서는 스팸을 받은 적이 없습니다. 스패머는 일반적으로 포트 25에 대한 응답을 찾기 위해 인터넷을 검색하고, 포트가 연결된 것을 발견하면 인사말에서 도메인 이름을 얻거나 250 응답 뒤의 도메인 이름을 얻은 다음 해당 도메인에서 임의의 사용자 이름을 시도합니다.

그들은 도메인 이름으로 localhost만 얻을 수 있기 때문에 이것을 시도할 수 없습니다. 따라서 도메인 이름을 알고 있는(도메인 DNS의 mx 레코드에서 메일 서버 주소를 얻은) 실제 사용자만 도메인으로 메일을 보낼 수 있습니다. (내 역방향 DNS가 내 도메인과 일치하지 않아 그들도 도메인을 얻을 수 없습니다.) 불행하게도 이제 올바른 FQDN으로 서버를 설정했으며 이제 해당 FQDN이 표시됩니다.

지금 일어나는 일은 다음과 같습니다.

My server: 220 (My reverse DNS which is not my domain name)
(I set this using confSMTP_LOGIN_MSG,'(My reverse DNS) Sendmail; $b')
C: EHLO example.com
My Server: 250 (My FQDN) oh no:(

서버에서 FQDN을 삭제하지 않고 250 이후의 비트를 FQDN이 아닌 다른 것으로 변경하려면 어떻게 해야 합니까?

관련 RFC를 위반하는 것 외에 다른 부정적인 결과가 있습니까?

답변1

sendmail.mc에 DjMyReverseDNS 줄을 추가했습니다. 여기서 MyReverseDNS는 표시하려는 항목입니다. 즉, j(FQDN AFAIK의 변수)를 원하는 항목으로 설정합니다. 이것은 나중에 더 테스트해야 할 필요가 있지만 기본 테스트에서는 작동하는 것 같습니다. 태국어

관련 정보