关于 smtp-email-sender
smtp-email-sender 是通过 SMTP 发送邮件的技能,适合需要从脚本发送邮件的用户。它提供邮箱配置说明,并支持收件人、抄送、密送、HTML 正文和附件等参数。
主要功能
- 01通过 SMTP 发送邮件
- 02支持多个收件人与抄送人
- 03支持密送和附件
- 04支持 HTML 邮件正文
- 05提供 SMTP 配置与测试脚本
适用场景
- 01从脚本发送通知邮件
- 02发送带附件的项目报告
- 03向多人发送会议纪要
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ openakita/ openakita --skill smtp-email-sender安装后在 Claude Code 中输入/smtp-email-sender确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.openakita-i18n.jsonscripts/configure_smtp.pysend_email.pytest_smtp.py详细介绍
来自项目 READMESMTP Email Sender
通过 SMTP 协议发送邮件,支持 Gmail、Outlook、企业邮箱等。
前置要求
1. Gmail 用户
如果使用 Gmail,需要:
- 启用两步验证
- 创建应用专用密码(App Password)
- 访问:https://myaccount.google.com/apppasswords
- 选择"邮件"和应用名称
- 复制生成的 16 位密码
2. Outlook/Hotmail 用户
- 启用两步验证
- 创建应用密码:https://account.microsoft.com/security
- 或使用普通密码(如果允许)
3. 企业邮箱用户
联系 IT 部门获取:
- SMTP 服务器地址
- SMTP 端口(通常 587 或 465)
- 是否需要 SSL/TLS
配置
在 .env 文件中添加以下环境变量:
# SMTP 配置
SMTP_SERVER=smtp.gmail.com
SMTP_PORT=587
[email protected]
SMTP_PASSWORD=your_app_password # Gmail 使用应用专用密码
SMTP_USE_TLS=true
或者首次使用时运行配置脚本。
使用方法
基本用法
调用 send_email.py 脚本:
python scripts/send_email.py \
--to [email protected] \
--subject "邮件主题" \
--body "邮件正文"
完整参数
| 参数 | 必需 | 说明 |
|---|---|---|
--to | 是 | 收件人邮箱(多个用逗号分隔) |
--subject | 是 | 邮件主题 |
--body | 是 | 邮件正文 |
--cc | 否 | 抄送邮箱(多个用逗号分隔) |
--bcc | 否 | 密送邮箱(多个用逗号分隔) |
--attachment | 否 | 附件路径(多个用逗号分隔) |
--is_html | 否 | 正文是否为 HTML 格式(默认 false) |
--from_name | 否 | 发件人显示名称 |
示例
发送简单邮件:
python scripts/send_email.py \
--to [email protected] \
--subject "周末聚会" \
--body "这周末有空吗?一起吃饭吧!"
发送 HTML 邮件带附件:
python scripts/send_email.py \
--to [email protected] \
--subject "项目报告" \
--body "<h1>项目进度报告</h1><p>详见附件...</p>" \
--is_html true \
--attachment "report.pdf,chart.xlsx" \
--from_name "张三"
发送给多人:
python scripts/send_email.py \
--to "[email protected],[email protected]" \
--cc "[email protected]" \
--subject "会议纪要" \
--body "今天的会议纪要如下..."
支持的 SMTP 配置
Gmail
SMTP_SERVER=smtp.gmail.com
SMTP_PORT=587
SMTP_USE_TLS=true
Outlook/Hotmail
SMTP_SERVER=smtp-mail.outlook.com
SMTP_PORT=587
SMTP_USE_TLS=true
QQ 邮箱
SMTP_SERVER=smtp.qq.com
SMTP_PORT=587
SMTP_USE_TLS=true
163 邮箱
SMTP_SERVER=smtp.163.com
SMTP_PORT=587
SMTP_USE_TLS=true
企业邮箱(示例)
SMTP_SERVER=smtp.company.com
SMTP_PORT=587
SMTP_USE_TLS=true
常见问题
1. 认证失败
Gmail:
- 确保启用了两步验证
- 使用应用专用密码,不是普通密码
- 检查是否开启了"不够安全的应用"访问(不推荐)
Outlook:
- 检查是否需要应用密码
- 确认 SMTP 地址正确
2. 连接超时
- 检查防火墙设置
- 尝试端口 465(SSL)代替 587(TLS)
- 确认 SMTP 服务器地址正确
3. 附件太大
- Gmail 限制 25MB
- Outlook 限制 20MB
- 大文件建议使用云盘链接
安全建议
- 永远不要在代码中硬编码密码
- 使用环境变量或加密的配置文件
- 定期更换应用专用密码
- 不要在公共网络使用 SMTP 发送敏感信息
故障排除
运行测试脚本验证配置:
python scripts/test_smtp.py
如果测试失败,检查:
.env文件配置是否正确- 网络连接是否正常
- 邮箱账号密码是否正确
- 防火墙是否阻止 SMTP 端口
评论
支持 Markdown