目的
curl でメールが送れるらしいのでメモしておく
参考
メモ
メールの内容を準備する
$ cat mail.txt
TO: target-mail-addr@example.com
FROM: mail-from-addr@example.net
Subject: This is subject
This is mail body
メールを送るスクリプトの準備する(コマンドを直接実行でもよい)
$ cat mail-sender.sh curl -sSv \ --ssl smtps://smtp.example.net:465 \ --mail-from mail-from-addr@example.net \ --mail-rcpt target-mail-addr@example.com \ --user "mail-from-addr@example.net:MAIL_PASSWORD" \ --upload-file mail.txt
-sSv
は任意
--upload-file
, -T
で指定するファイルは、添付ファイルではなく、メールの本文及び、送信元、宛先、件名を書き記したファイルを指定するためにある
実行
手抜き
bash mail-sender.sh
--upload-file
を使わず、 echo
で渡す
事もできるのでメモ
echo 'TO: target-mail-addr@example.com FROM: mail-from-addr@example.net Subject: This is subject This is mail body ' |\ curl -sSv \ --ssl smtps://smtp.example.net:465 \ --mail-from mail-from-addr@example.net \ --mail-rcpt target-mail-addr@example.com \ --user "mail-from-addr@example.net:MAIL_PASSWORD" \ --upload-file -
パイプでつなげるだけ
とてもいい!
2024-01-15 追記
複数人に送る
curl にだけ宛先を記載する
内容に宛先を一つ、 curl
に宛先を二つ記載すると、受け取りては二人だが、そのメールの中身の宛先は1つ
$ cat mail.txt
TO: target-mail-addr1@example.com
FROM: mail-from-addr@example.net
Subject: This is subject
This is mail body
$ cat mail-sender.sh curl -sSv \ --ssl smtps://smtp.example.net:465 \ --mail-from mail-from-addr@example.net \ --mail-rcpt target-mail-addr1@example.com \ --mail-rcpt target-mail-addr2@example.com \ --user "mail-from-addr@example.net:MAIL_PASSWORD" \ --upload-file mail.txt
両方にアドレスを記載する
両方に記載すると、どちらにも届くし、メールの内容の宛先にも宛先が両方記載される
$ cat mail.txt
TO: target-mail-addr1@example.com, target-mail-addr2@example.com
FROM: mail-from-addr@example.net
Subject: This is subject
This is mail body
$ cat mail-sender.sh curl -sSv \ --ssl smtps://smtp.example.net:465 \ --mail-from mail-from-addr@example.net \ --mail-rcpt target-mail-addr1@example.com \ --mail-rcpt target-mail-addr2@example.com \ --user "mail-from-addr@example.net:MAIL_PASSWORD" \ --upload-file mail.txt
curl で宛先を一つしか書かない
1か所にしか飛ばない