SMART_HOST를 특정 서버로 정의했습니다. foo.bar.com이라고 부르겠습니다. 그러나 'sendmail -t'를 사용하여 테스트 메일을 보내면 sendmail이 mx.bar.com을 사용하려고 시도하고 결과적으로 내 메일이 거부됩니다. foo.bar.com은 작동하고 mx.bar.com은 작동하지 않는다는 것을 확인했습니다(예, 텔넷). 나는 sendmail.mc vi make, make -C 및 m4를 다시 컴파일했습니다. sendmail.cf에서 DS 항목을 확인했습니다. sendmail을 올바르게 다시 시작했습니다. 현재로서는 어떻게 진행해야 할지 잘 모르겠습니다. 어떤 아이디어가 있나요?
내 SMART_HOST 라인은 다음과 같습니다.
정의( SMART_HOST',
foo.bar.com')dnl
...테스트 메일 결과는 다음과 같습니다. foo.bar.com을 사용하려고 시도하지 않고 대신 mx.bar.com을 사용합니다.
$ echo subject: test; echo | sendmail -Am -v -flocaluser -- [email protected] subject: test
[email protected]... Connecting to mx.bar.com via relay...
220 mx.bar.com ESMTP
>>> EHLO myhost.bar.com
250-mx.bar.com
250-8BITMIME
250 SIZE 52428800
>>> MAIL From:<[email protected]> SIZE=1
250 sender <[email protected]> ok
>>> RCPT To:<[email protected]>
550 #5.1.0 Address rejected.
>>> RSET
250 reset
localuser... Connecting to local...
localuser... Sent
Closing connection to mx.bar.com.
>>> QUIT
221 mx.bar.com
마지막으로 foo.bar.com을 사용하여 보낸 테스트 메일은 다음과 같습니다.
$ hostname
myhost.bar.com
$ telnet foo.bar.com 25
Trying ***.***.***.***...
Connected to foo.bar.com (***.***.***.***).
Escape character is '^]'.
220 foo.bar.com ESMTP Sendmail 8.14.1/8.14.1/ITS-7.0/ldap2-1+tls; Tue, 21 Dec 2010 13:27:44 -0700 (MST)
helo foo
250 foo.bar.com Hello myhost.bar.com [***.***.***.***], pleased to meet you
mail from: [email protected]
250 2.1.0 [email protected]... Sender ok
rcpt to: [email protected]
250 2.1.5 [email protected]... Recipient ok
data
354 Enter mail, end with "." on a line by itself
testing
.
250 2.0.0 oBLKRikZ003758 Message accepted for delivery
quit
221 2.0.0 foo.bar.com closing connection
Connection closed by foreign host.
어떤 아이디어가 있나요?
감사해요
답변1
Sendmail이 도메인에서 MX 조회를 수행할 수도 있지만 이는 반드시 원하는 것은 아닙니다. 이를 방지하려면 호스트 이름을 대괄호로 묶으십시오.
define(`SMART_HOST',`[foo.bar.com]')dnl