PikaraのOP25B
なんか、数日前からサーバのログが届いてません。Logwatchが送ってくるログ総集編メールも、その他のメールも、全然届かない。
そういえば、なんかPikaraのほうからお知らせが来てたなぁとWEBサイトをチェックすると、
突然メールが送信出来なくなったお客さまへ
近年、国内の多くのプロバイダーでは迷惑メール配信を防止するための仕組み(OP25B)が導入されており、弊社においても平成20年2月26日から同様の仕組みを導入しています。
とのこと。
ふむふむ、OP25Bっすか。割と野放しな(地方)プロバイダだと思ってたけど、そーゆー時代になったって事かな。
とりあえず現状を確認するため、サーバからsmtpサーバに接続してみます。
$ telnet smtp.pikara.ne.jp 25
Trying 125.215.93.65...
Connected to smtp.pikara.ne.jp.
Escape character is '^]'.
220 smtp-c.stnet.ne.jp ESMTP
HELO crusherfactory.net
250 smtp-c.stnet.ne.jp
MAIL FROM: ************.ne.jp
250 Ok
RCPT TO: ************.ne.jp
250 Ok
DATA
354 End data with.
From: ************.ne.jp
Subject: test
test
.
250 Ok: queued as A1C263A4F9B
quit
221 Bye
Connection closed by foreign host.
Trying 125.215.93.65...
Connected to smtp.pikara.ne.jp.
Escape character is '^]'.
220 smtp-c.stnet.ne.jp ESMTP
HELO crusherfactory.net
250 smtp-c.stnet.ne.jp
MAIL FROM: ************.ne.jp
250 Ok
RCPT TO: ************.ne.jp
250 Ok
DATA
354 End data with
From: ************.ne.jp
Subject: test
test
.
250 Ok: queued as A1C263A4F9B
quit
221 Bye
Connection closed by foreign host.
このテストメールは届きません。どーも「正常に送信したようなステータスを返してそのままメールを捨ててる」模様。orz
Mar 1 16:10:12 crusherfactory sendmail[11428]: m1R9TXjc013480: to=**********.jp, delay=2+21:40:36, xdelay=00:00:00, mailer=esmtp, pri=7591396, ********.jp., dsn=4.0.0, stat=Deferred: ********.jp.: No route to host
maillogはこんな感じ。やっぱり「外部サーバに接続できない」と言ってるようです。
続いて、サブミッションポートを通じての接続を試みます。
$ telnet smtp.pikara.ne.jp 587
Trying 125.215.93.65...
Connected to smtp.pikara.ne.jp.
Escape character is '^]'.
220 smtp-a.stnet.ne.jp ESMTP
ehlo crusherfactory.net
250-smtp-a.stnet.ne.jp
250-PIPELINING
250-SIZE 10485760
250-VRFY
250-ETRN
250-AUTH LOGIN PLAIN CRAM-MD5
250-AUTH=LOGIN PLAIN CRAM-MD5
250 8BITMIME
Trying 125.215.93.65...
Connected to smtp.pikara.ne.jp.
Escape character is '^]'.
220 smtp-a.stnet.ne.jp ESMTP
ehlo crusherfactory.net
250-smtp-a.stnet.ne.jp
250-PIPELINING
250-SIZE 10485760
250-VRFY
250-ETRN
250-AUTH LOGIN PLAIN CRAM-MD5
250-AUTH=LOGIN PLAIN CRAM-MD5
250 8BITMIME
こちらでsmtp認証をすれば良さそうです。
ちうことで、メールをプロバイダsmtpサーバの587番ポートにそのまま転送し、その際POPアカウントの1つを使って認証するようにsendmailの設定を変更します。
/etc/mail/authinfo
AuthInfo:smtp.pikara.ne.jp "U:user@pikara.ne.jp" "P:PASSWORD" "M:CRAM-MD5"
/etc/mail/sendmail.mc
define(`SMART_HOST', `esmtp:smtp.pikara.ne.jp')dnl
define(`ESMTP_MAILER_ARGS',`TCP $h 587')
FEATURE(authinfo, DATABASE_MAP_TYPE` -o 'MAIL_SETTINGS_DIR`authinfo')
define(`ESMTP_MAILER_ARGS',`TCP $h 587')
FEATURE(authinfo, DATABASE_MAP_TYPE` -o 'MAIL_SETTINGS_DIR`authinfo')
とした後、
# cd /etc/mail
# makemap hash authinfo < authinfo
# m4 /usr/share/sendmail-cf/m4/cf.m4 sendmail.mc > sendmail.cf
# service sendmail restart
# makemap hash authinfo < authinfo
# m4 /usr/share/sendmail-cf/m4/cf.m4 sendmail.mc > sendmail.cf
# service sendmail restart
としたところ、無事メールが届くようになりました(^_^)
Mar 1 16:17:12 crusherfactory sendmail[11625]: m1R9TXjc013480: to=**********.jp, delay=2+21:47:36, xdelay=00:00:00, mailer=esmtp, pri=7681396, relay=smtp.pikara.ne.jp. [125.215.93.65], dsn=2.0.0, stat=Sent (Ok: queued as 86C353A5741)
ちゃんとpikaraのサーバに投げたみたい。