CentOS Stream 9のmailコマンドでGmailにメール送信

※本サイトはアフィリエイト広告を利用しています。
広告

本記事の概要

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