自宅の Linux サーバの Postfix に Outbound Port 25 Blocking 対策のための設定を行う。
このブログでは,バックアップのために mysqldump2email を使ってブログのデータベースを Gmail に送っているのだが,そのメールが戻ってくるようになってしまった。Postfix が次のように言って戻してきていたのである。
久しぶりにメールをチェックしたところ,このメールが大量に来ていた。今年の10月から遅れていなかったことが判明。
実は,メールが戻ってきたアドレスは,Gmail から POP で吸い出しているので,すべてのメールがチェックできていると思っていた。しかし,このエラーメールは POP では取ってこれていなかった (なぜだろうか)。これが,発見が遅くなった理由である。
自宅サーバの環境は,OS Vine Linux 4.2, Postfix 2.2.10 である。自宅は ADSL 回線で結ばれており,インターネットサービスプロバイダは So-net である。
自宅サーバからメールが出せなくなったのは,Outbound Port 25 Blocking が原因である。So-net がこれを10月に実施したのだ (Outbound Port25 Blocking(OP25B) | So-net)。So-net では,25番ポートをブロックする代わりに,587番ポートをサブミッションポートとして開放している。
以下では Postfix の設定ファイルに,So-net のメールサーバの587番ポート経由でメールを出す設定を行う。設定情報は以下の通り (So-net の設定値: メールの設定値一覧|So-net 会員サポート)。
■ 送信用の設定値
項目 設定値 送信メール (SMTP) サーバ名 mail.so-net.ne.jp を入力 ポート番号 587 SSL [Secure Socket Layer] 使用します SMTP 認証 使用します 【設定には下記の値を入力】
- ユーザー名 : [メールアドレス] 例) taro_s@aa2.so-ne.ne.jp
- パスワード : [メールアドレスパスワード]
SSL は「使用します」になっているが,今回は使用しない設定にする。
似た環境の方がいらしたので (Postfix + インストール + OP25B設定 | ninxit.blog),これを参考に。
So-net SMTP サーバのサブミッションポートに telnet でアクセスし,認証方式を調べる。
「250-AUTH LOGIN PLAIN CRAM-MD5」が返ってきているので,認証方式は LOGIN, PLAIN, CRAM-MD5 の3つに対応していることになる。「CRAM-MD5」はパスワードが暗号化されるので (SMTP Authenticationとは【SMTP-AUTH】: IT用語辞典),これを使うことにする。
CRAM-MD5 に対応させるため,パッケージを導入する。
これがないと,メールの送信に失敗し,ログファイル /var/log/maillog には次のログ
が残される。
Postfix の設定ファイルである /etc/postfix/main.cf を編集する。
リレーホストとポートを記述する。
最後に次の行を追加する。
これで設定は終了。
メールサーバとポート番号,メールアドレスとパスワードを記述した authinfo という名前のファイルを作成する。
postmap コマンドで authinfo.db が生成される。これが上の Postfix の設定で「smtp_sasl_password_maps」の箇所で指定したファイルになる。
Postfix を再起動し,設定を反映させる。
最後にテストして,上手くいけば完了である。
Master Archive Index
Total Entry Count: 1957