sendmail の第三者中継で悩んだ
#ドメインはすべて例です。
example.co.jp のメールサーバを設定中、第三者中継が行えるように見えて、悩んだ。
$ telnet mail.example.co.jp 25
Trying XXX.XXX.XXX.111...
Connected to mail.example.co.jp (XXX.XXX.XXX.111).
Escape character is '^]'.
220 unknown ESMTP
EHLO example.jp
250-example.co.jp Hello example.jp [XXX.XXX.XXX.222], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH DIGEST-MD5 CRAM-MD5
250-DELIVERBY
250 HELP
MAIL FROM: <test@yahoo.com>
250 2.1.0 <test@yahoo.com>... Sender ok
RCPT TO: <test@gmail.com>
250 2.1.5 <test@gmail.com>... Recipient ok
QUIT
221 2.0.0 example.co.jp closing connection
Connection closed by foreign host.
Trying XXX.XXX.XXX.111...
Connected to mail.example.co.jp (XXX.XXX.XXX.111).
Escape character is '^]'.
220 unknown ESMTP
EHLO example.jp
250-example.co.jp Hello example.jp [XXX.XXX.XXX.222], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH DIGEST-MD5 CRAM-MD5
250-DELIVERBY
250 HELP
MAIL FROM: <test@yahoo.com>
250 2.1.0 <test@yahoo.com>... Sender ok
RCPT TO: <test@gmail.com>
250 2.1.5 <test@gmail.com>... Recipient ok
QUIT
221 2.0.0 example.co.jp closing connection
Connection closed by foreign host.
いろいろ調べたところ、
テストのtelnetを行ったクライアントの逆引きが example.jp で
/etc/mail/local-host-names に example.co.jp に加え example.jp の記述があった。
local-host-names から example.jp の記述を取り除き、
service sendmail restart で sendmail 再起動(必要)したところ、
(略)
MAIL FROM: <test@yahoo.com>
250 2.1.0 <test@yahoo.com>... Sender ok
RCPT TO: <test@gmail.com>
550 5.7.1 <test@gmail.com>... Relaying denied. Proper authentication required.
MAIL FROM: <test@yahoo.com>
250 2.1.0 <test@yahoo.com>... Sender ok
RCPT TO: <test@gmail.com>
550 5.7.1 <test@gmail.com>... Relaying denied. Proper authentication required.
と無事、第三者中継を拒否するようになった。