2008-01-23
OP25Bとは
"”OP25Bとは ““迷惑メールの多くは、ご利用中のプロバイダーのメールサーバを経由せずに、直接送信されます。このような直接送信されるメールを阻止して、迷惑メールの送信を防止するのが、OP25B(Outbound Port25 Blocking)と呼ばれる対策です。 ““OP25Bは、外部からの不正アクセスやウイルス感染などによる「意図しない大量メールの送信」「パソコン内の個人情報の流出」などの防止にも力を発揮するため、有効な迷惑メール対策として国内のプロバイダー各社で導入が進んでいます。 ““Yahoo! BBでは、2006年8月より導入を開始いたしました。
"”11月26日 月 千葉県/東京都(23区以外)/栃木県*
というわけで、嫁から「メールが送信できない!」と苦情(?)を言われたので調べてみたらYahooBBのOP25Bが原因でした。丸々2ヶ月程度嫁がメールを外部に送信できていなかったようです。ごめんね嫁。自分はgmailがメインなので実害はなかったんだけど・・・。YahooBBから連絡来てないよ・・・。
回避方法 - サブミッションポートでSMTP_AUTH
回避方法を調べたところサブミッションポートで送信しろとのこと
"”ご使用のメールソフトのメール設定について、送信メールサーバー(SMTP)のポート番号を25番から587番へ変更していただきます。あわせてメール投稿者の認証のためのIDとパスワードも設定します。
OutlookExpressの場合の設定方法例はこちらに。ybbsmtp.mail.yahoo.co.jpの587番ポートにSMTP_AUTHで送信してあげればよいようです。
というわけで、我が家ではpostfixくんがメールをさばいてくれていますのでpostfixからYahooBBのリレーサーバーのサブミッションポートにむけてSMTP_AUTHを行ったうえで送信する必要があります。とりあえずぐーぐる先生に設定方法を聞いてみる。
問題とその対処の解説は以下のサイトがわかりやすかったです。
さらにYahooBBの場合は外部メールアドレスを登録してあげないといけないこともわかりました。
こちらはWebから設定しました。
具体的な設定方法
具体的な設定方法は以下のサイトを参考にさせてもらいました。
emacs /etc/postfix/main.cf
でmain.cfに以下の設定を記述
relayhost = [ybbsmtp.mail.yahoo.co.jp]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/isp_auth
smtp_sasl_security_options = noanonymous
※ここで、smptd_sasl_xxxxxとsmtp_sasl_xxxxxの設定を混同して「SMTP_AUTHで送信してくれない〜」とかなり悩んでしまいました。smtpdとsmtpは別物なので注意してください。main.cfにはsmtpd_sasl〜ではなくsmtp_sasl〜という設定をします。
emacs /etc/postfix/isp_auth
でisp_authに以下のように記述。”account”, “password”の部分にはYahooBBに登録した外部メールアドレスのアカウント名とパスワードを入力します。
[ybbsmtp.mail.yahoo.co.jp]:587 account:password
次にpostmapコマンドでpostfix用の検索テーブルを作成します。
postmap /etc/postfix/isp_auth
次に、postfixにSMTP-AUTHをしゃべらせるためにmaster.cfを編集します。
emacs /etc/postfix/master.cf
以下のように記述
smtp inet n - - - - smtpd
submission inet n - - - - smtpd
-o smtpd_etrn_restrictions=reject
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
※こちらはsmtpd_〜という設定項目です。
設定が完了したらpostfixを再起動します。
/etc/init.d/postfix restart
以上で設定完了。無事にメールが送信できるようになりました。結局メモを取りながら設定していたら2時間弱かかってしまいました。仕事をやろうと思っていたのに今日はこれに時間を使ってしまった・・・・。
でも、勉強になったので良いことにします。