本記事の概要
CentOS Stream 9からGmailにメール送信する手順を記載します。
以下の流れでmailコマンドを使ってGmailにメール送信します。
(1) Gmailのアカウント作成
(2) Gmailの設定
(3) Postfixのインストール及び設定
(4) mailコマンドでのメール送信
※画面や記載している手順は記事を作成した時点(2024年7月14日)のものですので、画面などが変わっている可能性があります。
Gmailのアカウント作成
Gmailのメールサーバにメール送信するために、Gmailのアカウントを作成します。
(1) ブラウザを起動して、以下のGmailのアカウント作成のページにアクセスして、「自分用」をクリックします。
https://support.google.com/accounts/answer/27441?hl=ja
(2) 姓名を入力して、「次へ」をクリックします。
(3) 生年月日と性別を入力して、「次へ」をクリックします。
(4) メールアドレスを入力して、「次へ」をクリックします。
(5) パスワードを入力して、「次へ」をクリックします。
(6) 「スキップ」を入力します。
(7) 「次へ」をクリックします。
(8) 「プライバシーと利用規約」を確認します。
(9) 「同意する」をクリックします。
(10) Gmailの設定画面が表示されたことを確認します。
Gmailの設定
メール送信するためにGmail側で二要素認証の設定とアプリパスワードを取得する必要があるため、その手順を記載します。
(1) [Security]-[2-Step Verification]をクリックします。
(2) 「Turn on 2-Step Verification」をクリックします。
(3) SMS認証を送る電話番号を入力して、「Next」をクリックします。
(4) SMSに送信されたメッセージに記載されたコードを入力して、「Verify」をクリックします。
(5) 「Done」をクリックします。
(6) 「https://myaccount.google.com/apppasswords」にアクセスします。その後、任意のアプリ名を入力して、「Create」をクリックします。
(7) 12桁のパスワードを確認して、「Done」をクリックします。後述するメールサーバの設定(/etc/postfix/sasl_password)で使用するためメモなどに保存してください。
(8) 設定したアプリパスワードが表示されていることを確認します。
Postfixのインストール及び設定
メールサーバ(Postfix)の設定、およびメール送信のための認証情報を設定するための手順を記載します。
(1) PostfixとCyrus SASLライブラリをインストールします。
# dnf -y install postfix
# dnf -y install cyrus-sasl-plain cyrus-sasl-md5
(2) 以下のコマンドを実行して、Postfixの設定ファイル(/etc/postfix/main.cf)を設定します。
# cp -p /etc/postfix/main.cf /etc/postfix/main.cf.bk
# vi /etc/postfix/main.cf
→以下の内容を追加及び変更します。
[追加する行]
myhostname=[メールサーバーのホスト名]
例) myhostname=mail-server.com
mydomain=[メールのドメイン]
例) mydomain=mail-server.com
relayhost=[smtp.gmail.com]:587
smtp_use_tls=yes
smtp_tls_CApath=/etc/pki/tls/certs/ca-bundle.crt
smtp_sasl_auth_enable=yes
smtp_sasl_password_maps=hash:/etc/postfix/sasl_password
smtp_sasl_tls_security_options=noanonymous
smtp_sasl_mechanism_filter=plain
[変更する行]
変更前:smtp_tls_CApath = /etc/pki/tls/certs
変更後:smtp_tls_CApath=/etc/pki/tls/certs/ca-bundle.crt
変更前:inet_protocols = all
変更後:inet_protocols = ipv4
(3) 以下のコマンドを実行して、認証で使用するユーザ名とパスワードのファイルを作成します。
# vi /etc/postfix/sasl_password
→以下の行を追加する。
[追加する行]
[smtp.gmail.com]:587 <gmail_address>:<password>
→例) [smtp.gmail.com]:587 test@gmail.com:kjoipcsxbjxatoad
(4) 以下のコマンドを実行してdbファイルを生成します。
# chmod 600 /etc/postfix/sasl_password
# postmap hash:/etc/postfix/sasl_password
(5) 以下のコマンドを実行して、Postfixの設定値のエラーが出力されないことを確認します。
# postfix check
(6) 以下のコマンドを実行して、Postfixの再起動および自動起動設定をします。
# systemctl restart postfix
# systemctl status postfix
→「Active: active (running)」が出力されることを確認します。
# systemctl enable postfix
# systemctl is-enabled postfix
→「enabled」が出力されることを確認します。
mailコマンドでのメール送信
mailコマンドを実行してメール送信する手順を記載します。
(1) mailコマンドを実行できるようにs-nailをインストールします。
# dnf -y install s-nail
(2) 以下のコマンドを実行して、メールを送信します。
# echo [メッセージ] | mail -s [メールのタイトル] [メールアドレス]
→echo "hogehoge" | mail -s "test" test@gmail.com