Files
CrazyClaude/tools/send_mail.sh
Eric Coissac 2f1d437723 Squashed '.claude/llm-functions/' content from commit 616d8d8
git-subtree-dir: .claude/llm-functions
git-subtree-split: 616d8d84c5565fdb66d8782ae5ba56d994bfa82a
2026-03-27 09:14:17 +01:00

32 lines
989 B
Bash
Executable File

#!/usr/bin/env bash
set -e
# @describe Send a email.
# @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
# @env LLM_OUTPUT=/dev/stdout The output path
main() {
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" >> "$LLM_OUTPUT"
}
eval "$(argc --argc-eval "$0" "$@")"