このブログは、VPSを使用し、WordPressで運用しています。
その際、お問い合わせページでCentOS7上のPostfixを使用しGmailを使用し、メールを送信できるようにしました。
その方法について、今回の記事では、紹介します。
Gmailの2段階認証を有効にする
まず、Gmailの2段階認証を有効にします。
mailxとSASLをインストールする
CentOS7には、標準でメールコマンドが含まれていません。なので、mailxパッケージとcyrus-saslをインストールします。
cyrus-saslは、コネクション型のプロトコルに対して認証機能を提供しているパッケージです。
sudo yum install -y postfix mailx cyrus-sasl cyrus-sasl-plain
Gmailでメール認証用のパスワードを作成する
普段のGmailの認証に使用しているパスワードと別に今回のメール送信用のパスワードを作成します。
=>Gmailアプリパスワード設定のページにアクセスし、アプリ用のパスワードを作成します。
アプリを選択し、端末を選択します。今回の場合は、両方とも「その他(名前を入力)」を選択し用途がわかるようにして置いても良いと思います。
アプリは、「メール」でも良いかもです。
上記を入力し、「生成」をクリックするとパスワードが生成されます。
詳細は、公式のページをご覧ください。
/etc/postfix/saslpassを作成する
のファイルを作成し下記のように記載します。
[smtp.gmail.com]:587 username@gmail.com:password
usernameは、Gmailのアカウントを、パスワードは、上記で生成されたパスワードを入力します。
/etc/postfix/main.cfを編集する
下記の内容をmain.cfの最後に追加します。
relayhost = [smtp.gmail.com]:587 smtp_use_tls = yes smtp_sasl_auth_enable = yes smtp_sasl_tls_security_options = noanonymous smtp_sasl_password_maps = hash:/etc/postfix/saslpass smtp_sasl_mechanism_filter = plain
コマンドを実行
sudo chown root:root /etc/postfix/saslpass sudo chmod 600 /etc/postfix/saslpass sudo postmap /etc/postfix/saslpass sudo systemctl restart postfix.service
テストメールを送信
echo hogehoge | mail hogehoge@gmail.com
hogehoge@gmail.comに送信先のメールアドレスを入力し、テストメールを送信し、送信されたことを確認したら設定OKです。
CentOS7だけでなく、Ubuntuなどの情報が欲しい方は、参考のリンクを参照してみてください。
英語ですが、コマンドとかはわかると思うので参考になると思います。