介绍
# Send Email
通过 Python 脚本发送电子邮件。脚本运行时,SMTP 设置由 OpenClaw **在运行时注入**(源自 `~/.openclaw/openclaw.json` → `skills.entries.send-email.env`)。**不要读取**任何配置文件(例如 `~/.openclaw/openclaw.json` 或 `workspace/openclaw.json`)——这会在工具输出中暴露凭据。只需运行脚本;环境变量会自动注入。不要使用 ~/.msmtprc。
## 配置
在 **`~/.openclaw/openclaw.json`** 中进行配置:
```json "skills": { "entries": { "send-email": { "enabled": true, "env": { "EMAIL_SMTP_SERVER": "smtp.163.com", "EMAIL_SMTP_PORT": "465", "EMAIL_SENDER": "[email protected]", "EMAIL_SMTP_PASSWORD": "YOUR_AUTH_CODE" } } } } ```
| 变量 | 描述 | |----------|-------------| | EMAIL_SMTP_SERVER | SMTP 服务器,例如 smtp.163.com, smtp.gmail.com | | EMAIL_SMTP_PORT | 端口,465 (SSL) 或 587 (TLS) | | EMAIL_SENDER | 发件人邮箱地址 | | EMAIL_SMTP_PASSWORD | 授权码 / 应用密码(163/QQ:授权码;Gmail:应用专用密码) |
## Agent 指令
1. **凭据**:切勿读取配置文件。脚本运行时 OpenClaw 会注入 `skills.entries.send-email.env` —— 请勿对 `~/.openclaw/openclaw.json` 或 `workspace/openclaw.json` 使用读取工具(会暴露机密)。如果该技能已启用,请假定环境变量已配置;不要向用户询问密码。不要使用 ~/.msmtprc。 2. **发送邮件**:在 **workspace** 下运行脚本(不要使用 node_modules 下的路径): ```bash python3 ~/.openclaw/workspace/skills/send-email/send_email.py "recipient" "Subject" "Body" ``` 3. **附件**:`python3 ~/.openclaw/workspace/skills/send-email/send_email.py "收件人" "主题" "正文" "/path/to/file.pdf"`
## 使用示例
```bash python3 ~/.openclaw/workspace/skills/send-email/send_email.py '[email protected]' 'Subject' 'Body text' python3 ~/.openclaw/workspace/skills/send-email/send_email.py '[email protected]' 'Subject' 'Body' '/path/to/file.pdf' ```
## SMTP 参考
- 163:`smtp.163.com:465`,需要授权码(非登录密码) - Gmail:`smtp.gmail.com:587`,需要应用专用密码 - QQ:`smtp.qq.com:465`,需要授权码
## 故障排查
- 认证失败:检查 `EMAIL_SMTP_PASSWORD` 是否为授权码或应用专用密码。 - 连接失败:检查 `EMAIL_SMTP_SERVER` 和 `EMAIL_SMTP_PORT`。