VPSで外部のメールサーバーを使う方法

レンタルサーバーで動かしていたWordPressをVPSに移行しました。
メールサーバーもVPSに移す予定なのですが、今はまだレンタルサーバーを契約したときについてきたメールサーバーを使っています。

VPSで外部のメールサーバーを使う場合はMTA(Postfixを使用)の設定を変更する必要があります。
今回はそのあたりのことを記事にしたいと思います。

WordPressを移行したときの記事はこちらです。

あわせて読みたい
【WordPress】レンタルサーバーからVPSに移行してみた 当ブログは今までConoHaのレンタルサーバー(ConoHa WING)で動かしていましたが、ConoHaのVPSに移行しました。 環境構築にあまり時間をかけたくなかった、WordPressが動...
目次

前提条件

  • VPSのOSはCentOS Strem 8であること
  • VPSにPostfixをインストール済みで基本的な設定は完了していること
  • DNSのMXレコードは使おうとしている外部のメールサーバーに設定されていること

設定手順

  1. /etc/postfix/main.cfの変更
    細かいところは環境によって違ってくる可能性はありますが、下記の項目は変更する必要があると思います。
    今回の例ではSMTP-AUTH及びSSL/TLSに対応した外部のメールサーバーを使用しています。

    inet_interfaces = 127.0.0.1
    mydestination =
    relayhost = [SMTPサーバーのホスト名]:ポート番号
    smtp_sasl_auth_enable = yes
    smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
    smtp_sasl_security_options = noanonymous
    smtp_tls_CAfile = /etc/pki/tls/certs/ca-bundle.crt
    smtp_tls_CApath = /etc/pki/tls/certs
    smtp_tls_note_starttls_offer = yes
    smtp_tls_security_level = encrypt
    smtp_use_tls = yes
    smtpd_tls_cert_file = /etc/pki/tls/certs/postfix.pem
    smtpd_tls_key_file = /etc/pki/tls/private/postfix.key
    smtpd_tls_security_level = may

    mydestinationの値を空にすることでローカル配信はできなくなります。
    当該VPSから送信する全てのメールがrelayhostで指定したSMTPサーバーにリレーされるようになります。

  2. 送信アカウントの情報を登録
    relayhostに指定するSMTPサーバーがSMTP-AUTHに対応している場合は認証情報を登録しておく必要があります。
    smtp_sasl_password_mapsに設定したファイルにユーザー名とパスワードを登録します。
    今回の例ですと、まず/etc/postfix配下にsasl_passwdというファイルを作ります。
    中身は下記のようになります。

    [SMTPサーバーのホスト名]:ポート番号 送信メールアカウント名:パスワード

    例 : [mail.hogehoge.com]:587 mail@hogehoge.com:MailPassword

    続いて、下記コマンドにて.dbファイルを作成します。

    postmap hash:/etc/postfix/sasl_passwd

    sasl_passwd.dbが生成されます。

    .dbファイル作成後はsasl_passwdファイルはパーミッションを600、オーナーをrootにして簡単に中を見られないようにしておいてください。
    また、.dbファイルはオーナーをpostfixに変更しておいてください。

  3. postfixを再起動する。
    systemctl restart postfix

まとめ

今回の例ではメールアドレスやアカウントの管理は外部のメールサーバー側で行なうことになります。
VPS側にあらかじめユーザーを作っておく必要はありません。

外部のメールサーバーを使うことで、25番ポートブロック(Outbound Port 25 Blocking:OP25B)を実施しているVPSからもメールを送信できるようになります。
場合によってはその方が便利なパターンもありそうですね。

この記事が外部のメールサーバーを使おうとしている方の参考になれば幸いです。

Amazon Lightsailでも同様の設定をしたことがあります。
こちらの記事も参考にしてください。

あわせて読みたい
LightsailからSimple Email Service(SES)経由でメールを送ってみた Lightsailインスタンスはpostfixを動かしてもメールを送ることができないようです。「数通だったら送れた」という情報も見受けられますが、うちで試したところ1通も送る...

この記事が気に入ったら
フォローしてね!

  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次