PythonClaw email

install
source · Clone the upstream repo
git clone https://github.com/ericwang915/PythonClaw
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ericwang915/PythonClaw "$T" && mkdir -p ~/.claude/skills && cp -r "$T/pythonclaw/templates/skills/communication/email" ~/.claude/skills/ericwang915-pythonclaw-email && rm -rf "$T"
manifest: pythonclaw/templates/skills/communication/email/SKILL.md
source content

Email (SMTP)

When to Use

  • Send emails through SMTP (Gmail, Outlook, custom server)
  • Notifications, messages, or reports
  • Emails with CC, BCC, or HTML body
  • When user explicitly asks to "send an email"

When NOT to Use

  • Reading or searching Gmail — use
    google_workspace
    with gog
  • Sending via Gmail API — use
    google_workspace
    gmail send
  • Tasks that don't involve sending email

Setup

Configure in

pythonclaw.json
(or the Config dashboard):

"skills": {
  "email": {
    "smtpServer": "smtp.gmail.com",
    "smtpPort": 587,
    "senderEmail": "you@gmail.com",
    "senderPassword": "your-app-password"
  }
}

For Gmail, use an App Password.

Usage/Commands

python {skill_path}/send_email.py \
  --to "recipient@example.com" \
  --subject "Hello" \
  --body "Message body here"
OptionDescription
--to
Recipient address (required)
--subject
Subject line
--body
Message body
--cc "a@b.com,c@d.com"
CC recipients
--bcc "x@y.com"
BCC recipients
--html
Treat body as HTML

Notes

  • Always confirm before sending on behalf of the user
  • For Gmail, App Password is required (not regular password)
  • Credentials are read from
    skills.email
    in
    pythonclaw.json