自分用のメモです。何番煎じかわからないネタですが、curl オプションなどが時代によってやや違う模様。2025年2月時点で動作した状態をメモしてます。
準備として、ここからアプリパスワードを作成する。アプリパスワードを作成するには、その Google アカウントにおいて MFA を有効にしておく必要がある。詳しくは公式ドキュメントのとおり。
curl のオプションを整理しながら次のスクリプトを書いた。
#!/bin/bash
from="*****@gmail.com"
pass="*****"
to="*****@gmail.com"
subject="$1"
body="$2"
cat <<EOF | curl --url "smtps://smtp.gmail.com:465" --ssl-reqd \
--mail-from "${from}" --mail-rcpt "${to}" \
--user "${from}:${pass}" --insecure --upload-file -
Subject: ${subject}
${body}
EOF
コマンドライン引数にメールの Subject と Body を与えて実行する。