6.6k★by fontstep
send-email – OpenClaw Skill
send-email is an OpenClaw Skills integration for coding workflows. Send emails via SMTP. Configure in ~/.openclaw/openclaw.json under skills.entries.send-email.env.
Skill Snapshot
| name | send-email |
| description | Send emails via SMTP. Configure in ~/.openclaw/openclaw.json under skills.entries.send-email.env. OpenClaw Skills integration. |
| owner | fontstep |
| repository | fontstep/send-email |
| language | Markdown |
| license | MIT |
| topics | |
| security | L1 |
| install | openclaw add @fontstep/send-email |
| last updated | Feb 7, 2026 |
Maintainer

name: send-email description: Send emails via SMTP. Configure in ~/.openclaw/openclaw.json under skills.entries.send-email.env. metadata: {"openclaw":{"emoji":"📧","requires":{"anyBins":["python3"]}}}
Send 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.
Send Email Skill
OpenClaw skill for sending emails via SMTP using the Python script. Credentials are read from openclaw.json → skills.entries.send-email.env (no ~/.msmtprc required).
Features
- ✅ Support for 163, Gmail, QQ, and other SMTP providers
- ✅ Python script with env from openclaw.json
- ✅ Attachment support
- ✅ No ~/.msmtprc or manual SMTP file config needed
Installation
Place this skill in workspace/skills/send-email/. It is then available to the agent.
Configuration
Configure SMTP 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"
}
}
}
}
}
The agent runs python3 {baseDir}/send_email.py; OpenClaw injects these env vars at runtime.
Usage
The agent sends mail by running:
python3 {baseDir}/send_email.py "recipient@example.com" "Subject" "Body text"
With attachment:
python3 {baseDir}/send_email.py "recipient@example.com" "Subject" "Body" "/path/to/file.pdf"
Example prompts:
- "Send an email to user@example.com with subject 'Hello' and body 'Test message'"
- "Email the report.pdf to manager@company.com"
Permissions & Security
Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.
Requirements
- OpenClaw CLI installed and configured.
- Language: Markdown
- License: MIT
- Topics:
Configuration
Configure in **`~/.openclaw/openclaw.json`**: ```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) |
FAQ
How do I install send-email?
Run openclaw add @fontstep/send-email in your terminal. This installs send-email into your OpenClaw Skills catalog.
Does this skill run locally or in the cloud?
OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.
Where can I verify the source code?
The source repository is available at https://github.com/openclaw/skills/tree/main/skills/fontstep/send-email. Review commits and README documentation before installing.
