通用 SMTP 邮件发送
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_0d00cdf7/smtp-mail-sender-wb 到 AI 助手。
技能介绍
解决什么问题
日常开发中,用脚本发送邮件常面临几个痛点:手动配置 SMTP 服务器参数繁琐,易出错;部分工具仅支持单一格式正文,难以满足纯文本或 HTML 表格需求;附件处理需额外编码,多收件人发送逻辑复杂。手动写 SMTP 连接代码还会暴露凭据,重复编写耗时耗力。
核心能力与工作流程
该工具将 SMTP 发送能力封装在 scripts/send_email.py 脚本中,核心能力包括:
- 支持纯文本和 HTML 正文,可直接传 HTML 字符串或从文件读取;
- 支持多收件人、多附件,附件文件名兼容中文,自动 Base64 编码;
- 首次使用需配置邮箱凭据,提供交互式配置(推荐)和手动环境变量两种方式,凭据持久化到
HKCU\Environment,后续自动读取; - 内置 16 种常见邮箱域名的 SMTP 服务器自动匹配(如
@qq.com对应smtp.qq.com:465/SSL),无需手动指定; - 除命令行调用外,可在 Python 脚本中直接导入使用,支持自定义发件人显示名称。
适用边界与注意点
- 授权码要求:QQ 邮箱、163 邮箱等需使用授权码而非登录密码,需引导用户到邮箱设置页生成;
- 凭据安全:密码存储在
HKCU\Environment下,仅当前用户可读,不适合多用户共享场景; - 自定义服务器:不在自动匹配列表的邮箱(如企业私有域名),需通过
--smtp-server、--smtp-port、--smtp-mode手动指定; - 多收件人逻辑:采用逐个发送方式,每收件人单独建立 SMTP 连接,大批量发送时需注意连接频率限制。
使用场景
- 开发者需批量发送含HTML表格的周报邮件,工具支持从HTML文件读取正文并自动匹配SMTP服务器。
- 运维人员要给多个邮箱发送带中文附件的告警通知,工具支持多收件人逐个发送及附件自动Base64编码。
- 运营人员需发送带公司Logo的HTML营销邮件,工具支持直接传HTML字符串并指定发件人显示名称。
- 技术支持需为不同客户发送自定义SMTP服务器配置的邮件,工具提供命令行参数指定服务器地址与端口。
适合人员
- 需要批量发送带附件邮件的开发者,诉求是简化SMTP连接配置与多收件人逻辑。
- 处理多邮箱告警通知的运维工程师,诉求是自动编码附件并逐个发送避免连接冲突。
- 发送HTML营销邮件的运营人员,诉求是直接使用HTML文件生成邮件正文并自定义发件人显示。
- 配置企业私有邮箱的技术支持,诉求是手动指定SMTP服务器参数完成邮件发送。