PostfixでBIGLOBEメールサーバ(587/tcp)へrelayする

前提
監視などのシステムから、relayhostを指定してメールを飛ばす事ってありますよね。
そこで、組織のLANではメールサーバを指定して送信することになるのですが、自前でメールサーバを持たない所もあります。

今回はBIGLOBE様のメールサーバを指定する場面に遭遇したのですが、その監視システムの持つ機能では実現できなかったため、そのサーバに入ってたPostfixを使ってメールを飛ばしてみよう…という話になりました。

必要な情報
BIGLOBE様のメールサーバを使用する為に、Postfixの設定で必要な事前情報は、下記です。
項目内容備考
メールサーバホスト名mail.biglobe.ne.jp個人でなく業務利用などの時はmail.moss.biglobe.ne.jpの場合もあるらしい
SMTPポート番号587/tcpBIGLOBE様では25番ポートブロックがあるので、25/tcpは無いです。
sslの時は465/tcpを使用してる場合もあるみたいですね
メールアドレス(user@hoge.jp)BIGLOBE様から発行された使用予定のメールアドレス
メールパスワード(user@hoge.jpのパスワード)(BIGLOBE様から連絡があったものを使用



  1. 事前準備
    設定情報バックアップします
    > su -
    # cd /etc/postfix/
    # cp -p main.cf main.cf.bkyyyymmdd

  2. 設定編集
    設定ファイルを編集します
    # vi main.cf

    開いたファイルで下記の内容を追記します
    relayhost = [mail.biglobe.ne.jp]:587
    smtp_sasl_auth_enable = yes
    smtp_sasl_password_maps = hash:/etc/postfix/relay_password
    smtp_sasl_security_options = noanonymous

  3. 認証情報登録
    認証情報用のファイルをエディタで開きます
    # vi relay_password

    開いたファイルで下記の内容を追記します
    [mail.biglobe.ne.jp]:587 user@hoge.jp:(user@hoge.jpのパスワード)

  4. 設定反映
    設定の反映をします
    # postmap hash:/etc/postfix/relay_password
    # systemctl restart postfix

  5. 確認
    コマンドからメールを配送確認します
    # sendmain -bv (toアドレス)
    # echo "Test Mail (yyyymmdd)" | mail -s "Test mail (yyyymmdd)" -r (fromアドレス) (toアドレス)

    toアドレスへメールが届いたのか確認と同時にログ確認します
    # cat /var/log/maillog



終わりに
今回はBIGLOBE樣のメールサーバへrelayしましたが、他のプロバイダさんのメールサーバへも使えるのかな?
--