Sendmail SMART_HOST无法正常工作

我已经将SMART_HOST定义为特定的服务器,我们称之为foo.bar.com。 但是,当我使用'sendmail -t'发送testing邮件时,sendmail会尝试使用mx.bar.com,随后拒绝我的邮件。 我已经validation了foo.bar.com的作品,而且mx.bar.com不起作用(yay telnet)。 我重新编译了sendmail.mc vi make,make -C和m4。 我已经validation了sendmail.cf中的DS条目。 我已经正确地重新启动了sendmail。 我不知道如何在这一点上进行。 有任何想法吗?

这是我的SMART_HOST行:

定义( SMART_HOST', foo.bar.com')dnl

…这是testing邮件的结果。 它永远不会尝试使用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发送的testing邮件:

 $ 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. 

有任何想法吗?

谢谢

Sendmail可能正在对域进行MX查询,这不一定就是你想要的。 将主机名放在方括号中以防止出现这种情况。

 define(`SMART_HOST',`[foo.bar.com]')dnl