rokkonet

PC・Androidソフトウェア・アプリの開発・使い方に関するメモ

メール送信システム ( postfix, mail ) インストールとgmailリレー送信設定

2024 Sep. 22.
2024 Jun. 18.
2021 Apr. 24.
2020 Oct. 31.
2020 Feb. 09.
2018 Sep. 23.


参考元 Gmail 経由でメールを送信するように Postfix を設定する - ymyzk’s blog


gmailアカウントログインを2段階認証に設定

2段階認証プロセス:オン

パッケージインストール

$ sudo apt update && sudo apt install postfix bsd-mailx libsasl2-modules nkf

postfix設定問い合わせでは、Internet with smarthost を選択する。

システムメール名には、"取得している無償ドメイン名"をセットした。( mydomain )

Ubuntu22.04にPostfixをインストールして設定する方法 - Dev Guides からの抜粋
システムメール名:これは、アドレスのアカウント部分のみが指定されている場合に有効な電子メールアドレスを作成するために使用されるベースドメインです。 たとえば、サーバーのホスト名がmail.example.comであるとします。 システムメール名をexample.comに設定して、ユーザー名user1を指定すると、Postfixがアドレスuser1@example.comを使用するようにすることができます。

SMTP relay host” には [smtp.gmail.com]:587 を記述する。


上記設定の再設定

$ sudo dpkg-reconfigure postfix  


設定

googleアカウントのアプリパスワードを生成する

次の作業で利用するのでアプリパスワード画面を開いておくか、メモしておく。

googleアカウントでアプリパスワード作成が見つからない時は、アカウント画面上部に検索ボックスがあれば、「アプリパスワード」と入力して検索してみる。

/etc/postfix/sasl_passwd を次の1行の内容で作成する

[smtp.gmail.com]:587 YourAccount@gmail.com:アプリパスワード

  例 [smtp.gmail.com]:587 sample@gmail.com:abcdefghabcdefgh
(上記が複数行に表示されていても、[smtp. から fgh までが1行)

/etc/postfix/sasl_passwdファイル設定
# cd /etc/postfix
# chmod 600 sasl_passwd
# postmap /etc/postfix/sasl_passwd


/etc/postfix/main.cf に次の4行を追記する
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_tls_security_options = noanonymous


postfix再起動
# systemctl restart postfix.service


メール送信
$ Msg="読めますか?\n2行目です。\n3行目です"
$ Title='メール試験'
$ MailDest="hoo@example.xx bar@example.yy"
$ echo -e "${Msg}" | mail -s `echo -e "${Title}" | nkf -jM` $MailDest

(下記のように本文をjisコードにすると文字化けした)

$ echo -e "${Msg}" | nkf -j | mail -s `echo -e "${Title}" | nkf -jM` $MailDest


確認
# tail -f /var/log/mail.log