Я определил SMART_HOST как конкретный сервер, давайте назовем его foo.bar.com. Однако, когда я отправляю тестовое письмо с помощью sendmail -t, sendmail пытается использовать mx.bar.com, который впоследствии отклоняет мою почту. Я проверил, что foo.bar.com работает, а mx.bar.com не работает (yay telnet). Я перекомпилировал sendmail.mc vi make, make -C и m4. Я проверил запись DS в sendmail.cf. Я правильно перезапустил sendmail. Я не знаю, как действовать дальше. Любые идеи?
Вот моя строка SMART_HOST:
определить (SMART_HOST',
foo.bar.com ') dnl
... и вот результат тестового письма. Он никогда не пытается использовать foo.bar.com, вместо этого он использует mx.bar.com.
$ echo subject: test; echo | sendmail -Am -v -flocaluser -- myaddress@somewhere.else.com subject: test
myaddress@somewhere.else.com... 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:<localuser@myhost.bar.com> SIZE=1
250 sender <localuser@myhost.bar.com> ok
>>> RCPT To:<myaddress@somewhere.else.com>
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: localuser@myhost.bar.com
250 2.1.0 localuser@myhost.bar.com... Sender ok
rcpt to: myaddress@somewhere.else.com
250 2.1.5 myaddress@somewhere.else.com... 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