自宅サーバーからOCN経由でメール送信

■やりたいこと=送信のみ

自宅のLinuxサーバーからメール送信させたいけど、最近はプロバイダで外向けの25番ポートへのアクセスを閉じていることが殆ど(OP25B=Outbound Port 25 Blocking)。ということでその回避方法。

外部から自宅サーバーへ送られてきたメールの受信とかは必要なし。

■環境

  • CentOS 5.4
  • postfix 2.3.3 (CentOS標準のもの)
  • プロバイダはOCN

■relayhostの設定

まずは全てのSMTPをOCNのSMTPサーバー経由にする。具体的には以下の記述を/etc/postfix/main.cfに記載

relayhost = [smtp.xxxx.ocn.ne.jp]

ポイントはポート番号は25であって587ではない。ここの一連のやりとりが役に立った。OCNのページを見ると587を使わなければいけないように見えるんだけど…

■SASLの設定

以下の内容を/etc/postfix/main.cfに追記

smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = LOGIN,PLAIN,CRAM-MD5

このページを参考にした。

■SASLパスワードの設定

SASLで使うパスワードをpostfixに教えてあげなければならない。/etc/postfix/sasl_passwdというファイルを作成し、以下の内容で保存(userid, passwdは自分のOCNのメールアカウント)。

[smtp.xxxx.ocn.ne.jp] userid:passwd

次に、以下のコマンドを実行。

# postmap /etc/postfix/sasl_passwd

念のため以下のパーミッションにしておく

-rw------- 1 root root    86  5月  9 21:44 sasl_passwd
-rw------- 1 root root 12288  5月  9 21:45 sasl_passwd.db

■postfixを再起動  

 これで設定が有効になる。

■やらなくて良かったこと

postfixにパッチを当てる必要があったというページがいくつも見付かったけど、とりあえず必要ない。

master.cfを編集するという情報もあったけど、それも必要なし。

結構試行錯誤したが、終わって振り返ってみると結構簡単だった。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です