Category: postfix

OP25B 対策で Postfix を SMTP クライアントとして SASL 認証する(Biglobe)

By admin | 2008年11月16日

概要

そもそも OP25B(Outbound Port25 Blocking) ってのはなんなのか??をざっくり説明すると
25番ポートから出て行くメールは必ず ISP の SMTP サーバを通過しないと駄目だという決まり。
これは ISP によって対応してたりしてなかったりする。
詳細はここを見て下さい。
各 ISP 対応一覧で自分が使ってる ISP の状況を確認しとけば大丈夫。
不運にも該当した方は自宅メールサーバーから外へむけて(会社, gmail, hotmail等)にむけてメールを送信することができません。
ただし同一 ISP 間の場合はメール送信ができました。

以下に設定のやり方を書いてきます。
家の ISP が Biglobe のため Biglobe 以外はわかりません。あしからず。

設定

まず、Postfix の設定はすんでいることが前提です。
することは大きくわけて3つあります。
1. Biglobe 中継用の SMTP サーバの取得
2.postfix の設定
3.SASL 認証用の passwd ファイル作成
を順番にしていきます。

Biglobe 中継用の SMTP サーバの取得

ここにいき利用申込をします。
これはすぐに発行してもらえるため時間はくいません。
ここで発行してもらった SMTP サーバとポートは重要なのでメモなり、印刷することをオススメします。

postfix の設定

発行してもらった SMTP サーバを Postfx の relayhost に設定します。
あと、SASL(Simple Authentication and Security Layer) 認証の設定です。

説明のため、

SMTP サーバー((1)で入手したやつ)を hoge.biglobe.ne.jp
メールアドレス(Biglobe から発行されたやつ)を fuga@xxx.biglobe.ne.jp
パスワード(Biglobe から発行されたやつ)を  foo

とします。

#メール送信時に Biglobe の SMTP サーバーにむけて送信
relayhost = [hoge.biglobe.ne.jp]:25
 
#SASL 認証の設定
smtp_sasl_type = cyrus
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options =

SASL 認証用の passwd ファイル作成

#/etc/postfix/sasl_passwd
[hoge.biglobe.ne.jp]:25 fuga@xxx.biglobe.ne.jp:foo

上記のように認証用のファイルを作成し、それを Postfix に指定させればよい。
パーミッションは root で 600 にしておく。

postmap /etc/postfix/sasl_passwd

これで /etc/postfix/sasl_passwd.db ってのができればおk。
あとは再起動をすればメール送信ができるようになってます。

送信時のError Code

530 Need AUTH before MAIL (in reply to MAIL FROM command)
メール送信時に中継サーバに対してSASL認証をしてい。/etc/postfix/main.cf の設定に問題がありそう。

500 authentication failed
中継サーバの認証に失敗してる。/etc/postfix/sasl_passwd あたりが問題ありそう。

参考文献

SASL(シンプル認証とセキュリティ層)(Simple Authentication and Security Layer (SASL))
Postfix+SMTP-AUTHでメールをプロバイダに中継
OP25B(Outbound Port 25 Blocking)対策

WordPress Themes