[Postfix][自宅サーバ]Outbound port 25 Blocking対策してメール送信する方法
Jul 18 18:16:41 centos postfix/smtp[3250]: connect to gmail-smtp-in.l.google.com[74.125.53.27]: Connection timed out (port 25)
Jul 18 18:16:52 centos postfix/smtp[3250]: connect to alt1.gmail-smtp-in.l.google.com[74.125.95.27]: No route to host (port 25)
Jul 18 18:17:22 centos postfix/smtp[3250]: connect to alt2.gmail-smtp-in.l.google.com[74.125.65.27]: Connection timed out (port 25)
Jul 18 18:17:36 centos postfix/smtp[3250]: connect to alt3.gmail-smtp-in.l.google.com[74.125.93.27]: No route to host (port 25)
Jul 18 18:17:47 centos postfix/smtp[3250]: connect to alt4.gmail-smtp-in.l.google.com[209.85.227.27]: No route to host (port 25)
Jul 18 18:17:47 centos postfix/smtp[3250]: 96E9D78834A: to=<********@gmail.com>, relay=none,
delay=96, delays=0.07/0.01/96/0, dsn=4.4.1, status=deferred (
connect to alt4.gmail-smtp-in.l.google.com[209.85.227.27]: No route to host)
調べたところ、どうやら「Outbound port 25 Blocking(OP25B)」というやつが原因のようでした。ISPが迷惑メール対策として25番ポートに制限をかけているそうです。
対策
準備
契約しているISPのアカウント、パスワード、smtpサーバのアドレスを確認します。ここでは、ISPの契約情報が下記の通りになっていると仮定します。
メールアカウント | hoge001 |
パスワード | mypasswd |
送信メールサーバ(smtp) | smtp.example.ne.jp |
main.cnf
main.cnfに下記を追記します。# OP25B対策の設定
relayhost = [smtp.example.ne.jp]:587
smtp_sasl_auth_enable=yes
smtp_sasl_password_maps=hash:/etc/postfix/isppasswd
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter =
master.cnf
master.cnfで、#submission inet ..... あたりがコメントアウトされているので#を削除して有効にします。CentOS5.3の場合
submission inet n - n - - smtpd
-o smtpd_enforce_tls=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
Ubuntu9.04の場合
submission inet n - - - - smtpd
-o smtpd_enforce_tls=yes
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
パスワードファイルを作る
/etc/postfix/ の下に"isppasswd"というファイルを作成します。vi /etc/postfix/isppasswd
smtp.example.ne.jp hoge001:mypasswd
postmapコマンドを実行します。
postmap /etc/postfix/isppasswd
sasl関係のライブラリをインストール
Ubuntuの場合# apt-get install libsasl2-2 libsasl2-modules sasl2-bin
CentOSの場合
何もインストールしないで行けました。
postfixを再起動
# /etc/init.d/postfix reload
以上でメール送信できるようになりました。
参考
Outbound port 25 Blocking対応 | Debian LennyでLinuxサーバー構築:
カテゴリ: