send-email

Send emails via SMTP. Configure in ~/.openclaw/openclaw.json under skills.entries.send-email.env.

fontStep

@fontstep

What This Skill Does

Sends emails via SMTP using a Python script. SMTP credentials are injected at runtime from a JSON config file, supporting plain text and attachments.

Replaces manual SMTP configuration and credential handling by injecting settings at runtime, eliminating the need to read config files or expose passwords.

When to Use It

  • Send a notification email with a status update
  • Email a PDF report as an attachment
  • Trigger an alert email from a monitoring script
  • Send a welcome email to a new user
  • Forward a log file via email for review

Install

$ openclaw skills install @fontstep/send-email

Send Email

Send emails via the Python script. SMTP settings are injected by OpenClaw at runtime when the script runs (from ~/.openclaw/openclaw.jsonskills.entries.send-email.env). Do not read any config file (e.g. ~/.openclaw/openclaw.json or workspace/openclaw.json) — that would expose credentials in tool output. Just run the script; env is injected automatically. Do not use ~/.msmtprc.

Configuration

Configure in ~/.openclaw/openclaw.json:

"skills": {
  "entries": {
    "send-email": {
      "enabled": true,
      "env": {
        "EMAIL_SMTP_SERVER": "smtp.163.com",
        "EMAIL_SMTP_PORT": "465",
        "EMAIL_SENDER": "your-email@163.com",
        "EMAIL_SMTP_PASSWORD": "YOUR_AUTH_CODE"
      }
    }
  }
}
VariableDescription
EMAIL_SMTP_SERVERSMTP server, e.g. smtp.163.com, smtp.gmail.com
EMAIL_SMTP_PORTPort, 465 (SSL) or 587 (TLS)
EMAIL_SENDERSender email address
EMAIL_SMTP_PASSWORDAuthorization code / app password (163/QQ: auth code; Gmail: App Password)

Agent instructions

  1. Credentials: Never read config files. OpenClaw injects skills.entries.send-email.env when the script runs — do not use the read tool on ~/.openclaw/openclaw.json or workspace/openclaw.json (exposes secrets). If the skill is enabled, assume env is configured; do not ask the user for passwords. Do not use ~/.msmtprc.
  2. Send mail: Run the script under workspace (do not use the path under node_modules):
    python3 ~/.openclaw/workspace/skills/send-email/send_email.py "recipient" "Subject" "Body"
    
  3. Attachment: python3 ~/.openclaw/workspace/skills/send-email/send_email.py "recipient" "Subject" "Body" "/path/to/file.pdf"

Usage examples

python3 ~/.openclaw/workspace/skills/send-email/send_email.py 'recipient@example.com' 'Subject' 'Body text'
python3 ~/.openclaw/workspace/skills/send-email/send_email.py 'recipient@example.com' 'Subject' 'Body' '/path/to/file.pdf'

SMTP reference

  • 163: smtp.163.com:465, requires authorization code (not login password)
  • Gmail: smtp.gmail.com:587, requires App Password
  • QQ: smtp.qq.com:465, requires authorization code

Troubleshooting

  • Authentication failed: Check that EMAIL_SMTP_PASSWORD is the authorization code or App Password.
  • Connection failed: Check EMAIL_SMTP_SERVER and EMAIL_SMTP_PORT.

Top skills in this category