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-emailSend Email
Send emails via the Python script. SMTP settings are injected by OpenClaw at runtime when the script runs (from ~/.openclaw/openclaw.json → skills.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"
}
}
}
}
| Variable | Description |
|---|---|
| EMAIL_SMTP_SERVER | SMTP server, e.g. smtp.163.com, smtp.gmail.com |
| EMAIL_SMTP_PORT | Port, 465 (SSL) or 587 (TLS) |
| EMAIL_SENDER | Sender email address |
| EMAIL_SMTP_PASSWORD | Authorization code / app password (163/QQ: auth code; Gmail: App Password) |
Agent instructions
- Credentials: Never read config files. OpenClaw injects
skills.entries.send-email.envwhen the script runs — do not use the read tool on~/.openclaw/openclaw.jsonorworkspace/openclaw.json(exposes secrets). If the skill is enabled, assume env is configured; do not ask the user for passwords. Do not use ~/.msmtprc. - 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" - 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_PASSWORDis the authorization code or App Password. - Connection failed: Check
EMAIL_SMTP_SERVERandEMAIL_SMTP_PORT.
Top skills in this category
Humanizer
@biostartechnologyRemove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.
Slack
@steipeteUse when you need to control Slack from Clawdbot via the slack tool, including reacting to messages or pinning/unpinning items in Slack channels or DMs.
PollyReach
@pollyreachPollyReach gives every AI agent a phone number and the ability to get things done over the phone — finding contacts, making calls, and completing tasks. Just...
imap-smtp-email
@gzlicanyiRead and send email via IMAP/SMTP. Check for new/unread messages, fetch content, search mailboxes, mark as read/unread, and send emails with attachments. Supports multiple accounts. Works with any IMAP/SMTP server including Gmail, Outlook, 163.com, vip.163.com, 126.com, vip.126.com, 188.com, and vip
Answer Overflow
@rhyssullivanSearch indexed Discord community discussions via Answer Overflow. Find solutions to coding problems, library issues, and community Q&A that only exist in Discord conversations.