refactor: tools/send_mail.sh with curl (#61)
This commit is contained in:
+20
-6
@@ -2,14 +2,28 @@
|
||||
set -e
|
||||
|
||||
# @describe Send a email.
|
||||
# @meta require-tools mutt
|
||||
# @option --recipient The recipient of the email.
|
||||
# @option --subject The subject of the email.
|
||||
# @option --body The body of the email.
|
||||
# @env EMAIL_SMTP_ADDR! The SMTP Address, e.g. smtps://smtp.gmail.com:465
|
||||
# @env EMAIL_SMTP_USER! The SMTP User, e.g. alice@gmail.com
|
||||
# @env EMAIL_SMTP_PASS! The SMTP Password
|
||||
# @env EMAIL_SENDER_NAME The sender name
|
||||
# @option --recipient! The recipient of the email.
|
||||
# @option --subject! The subject of the email.
|
||||
# @option --body! The body of the email.
|
||||
|
||||
main() {
|
||||
mutt -s "$argc_subject" "$argc_recipient" <<<"$argc_body"
|
||||
sender_name="${EMAIL_SENDER_NAME:-$(echo "$EMAIL_SMTP_USER" | awk -F'@' '{print $1}')}"
|
||||
printf "%s\n" "From: $sender_name <$EMAIL_SMTP_USER>
|
||||
To: $argc_recipient
|
||||
Subject: $argc_subject
|
||||
|
||||
$argc_body" | \
|
||||
curl -fsS --ssl-reqd \
|
||||
--url "$EMAIL_SMTP_ADDR" \
|
||||
--user "$EMAIL_SMTP_USER:$EMAIL_SMTP_PASS" \
|
||||
--mail-from "$EMAIL_SMTP_USER" \
|
||||
--mail-rcpt "$argc_recipient" \
|
||||
--upload-file -
|
||||
echo "Email sent successfully"
|
||||
}
|
||||
|
||||
eval "$(argc --argc-eval "$0" "$@")"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user