sendmail이 릴레이하기 전에 DNS 조회를 수행하지 못하도록 방지

sendmail이 릴레이하기 전에 DNS 조회를 수행하지 못하도록 방지

내 컴퓨터(CentOS, sendmail-8.14.7-5.el7)는 컴퓨터에서 이메일을 수락하고 이를 모두 내 스마트호스트로 전달합니다. my-smarthost.mydomain.com스마트호스트에는 여러 개의 동적 MX 레코드가 있습니다. 로컬 메일은 별칭 파일을 사용하여 로컬로 보관됩니다.

sendmail.mc:
define(`SMART_HOST', `smtp:my-smarthost.mydomain.com')dnl

오늘 나는 문제를 발견했습니다:

# mailq
        /var/spool/mqueue (1 request)
-----Q-ID----- --Size-- -----Q-Time----- ------------Sender/Recipient-----------
02AG1YBC023172     1239 Tue Mar 10 17:01 <[email protected]>
      8BITMIME   (host map: lookup (non-domain.com): deferred)
                     <[email protected]>

# sendmail -v -q
Running /var/spool/mqueue/02AG1YBC023172 (sequence 1 of 1)
non-domain.com: Name server timeout
<[email protected]>... Transient parse error -- message queued for future delivery

sendmail이 DNS를 통해 이메일의 주소를 찾으려고 하는 이유는 무엇입니까? 내 생각엔 로컬이 아닌 모든 콘텐츠를 스마트 호스트로 전달하는 것 같아요!

이 트릭을 사용해 DNS 조회를 비활성화해 보았습니다.

define(`confSERVICE_SWITCH_FILE',`/etc/mail/service.switch')dnl

잠깐만요. 하지만 문제가 있습니다. 이렇게 하면 스마트 호스트의 MX 검색도 비활성화됩니다! 결과적으로 내 스마트 호스트의 동적 MX 레코드는 더 이상 검색/사용되지 않습니다!

sendmail이 스마트 호스트로 중계하는 것 이외의 다른 작업을 수행하지 못하도록 방지하는 방법에 대한 아이디어가 있습니까?

답변1

사용을 고려해보세요FEATURE(nocanonify)

표준화되지 않음기본적으로 정규화를 위해 주소를 $[...$]에 전달하지 마십시오. 즉, 호스트/도메인 이름은 이 모드에서 사용해서는 안 되는 정규화되지 않은 이름을 제외하고 정식으로 간주됩니다(표준 위반). […]

Sendmail이 헤더 주소의 도메인에 대해 DNS를 요청하는 것을 방지해야 합니다.

관련 정보