第17讲:邮件自动化 Skill 开发
掌握邮件自动化技能,实现邮件自动发送、模板管理、批量投递等功能,让邮件处理效率大幅提升。
一、场景分析
1.1 用户痛点
邮件是商务沟通的主要方式,但重复性工作很多:
- 批量发送繁琐:需要给多个客户发送相似内容的邮件,逐一发送效率低
- 模板管理混乱:常用邮件模板散落在各处,查找使用不便
- 附件处理耗时:每次发送都要手动添加附件,容易遗漏
- 跟进提醒困难:需要定时跟进客户,但容易忘记
- 发送记录难查:历史邮件分散,难以统一管理和统计
1.2 典型应用场景
| 场景 | 需求描述 | Skill 价值 |
|---|---|---|
| 营销邮件 | 向客户群发产品推广邮件 | 批量个性化发送 |
| 会议通知 | 自动发送会议邀请和提醒 | 定时自动发送 |
| 报表投递 | 定期发送数据报表给相关人员 | 自动附件处理 |
| 客户跟进 | 按设定时间自动跟进客户 | 智能提醒机制 |
| 自动回复 | 根据邮件内容自动回复 | 智能应答处理 |
二、核心功能设计
2.1 Skill 功能架构
1 | 📧 邮件自动化助手 |
2.2 技术选型
邮件处理的核心技术栈:
| 功能 | 技术方案 | 说明 |
|---|---|---|
| 邮件发送 | smtplib / yagmail | Python 标准库和第三方库 |
| 邮件接收 | imaplib / poplib | 读取收件箱邮件 |
| 邮件解析 | email / mail-parser | 解析邮件内容 |
| 定时任务 | schedule / APScheduler | 定时发送邮件 |
| 邮件服务 | SendGrid / Mailgun | 专业邮件发送服务 |
三、技术实现
3.1 Coze 平台实现
3.1.1 基础发送代码
使用 smtplib:
1 | import smtplib |
使用 yagmail(更简单):
1 | import yagmail |
3.1.2 模板邮件代码
1 | from jinja2 import Template |
3.1.3 批量发送代码
1 | def batch_send_emails(smtp_config, recipient_list, template_name, |
3.1.4 定时发送代码
1 | import schedule |
3.2 OpenClaw 平台实现
OpenClaw 的邮件 Skill 示例:
1 | from openclaw import Skill, Tool |
四、Prompt 设计
4.1 系统 Prompt
1 | 你是邮件自动化助手,专门帮助用户高效处理邮件发送任务。 |
4.2 意图识别示例
| 用户输入 | 识别意图 | 提取参数 |
|---|---|---|
| “给张三发封邮件” | 单封发送 | 收件人、主题、内容 |
| “批量发送会议邀请” | 批量发送 | 收件人列表、模板 |
| “明天上午9点发提醒邮件” | 定时发送 | 时间、收件人、内容 |
| “用欢迎模板给新用户发邮件” | 模板邮件 | 模板名称、收件人、变量 |
| “查看邮件发送记录” | 记录查询 | 查询条件 |
五、实战案例
5.1 案例一:营销邮件群发
场景:市场部门需要向客户群发新品推广邮件。
解决方案:
1 | def send_marketing_campaign(smtp_config, customer_data, product_info): |
5.2 案例二:自动报表投递
场景:需要定期向管理层发送数据报表。
解决方案:
1 | def schedule_report_delivery(smtp_config, report_config): |
六、实战练习
练习 1:欢迎邮件发送
创建一个 Skill,实现以下功能:
- 使用欢迎邮件模板
- 接收新用户信息(姓名、邮箱等)
- 个性化填充模板变量
- 发送欢迎邮件
练习 2:会议邀请批量发送
创建一个 Skill,实现以下功能:
- 读取参会人员列表
- 使用会议邀请模板
- 批量发送个性化邀请邮件
- 记录发送状态
练习 3:定时提醒邮件
创建一个 Skill,实现以下功能:
- 设置提醒任务(时间、收件人、内容)
- 定时检查并发送提醒邮件
- 支持周期性提醒(每日/每周/每月)
- 管理提醒任务列表
七、常见问题
Q1:邮件被判定为垃圾邮件怎么办?
解决方案:
- 使用专业的邮件发送服务(SendGrid、Mailgun)
- 控制发送频率,避免短时间内大量发送
- 添加退订链接
- 使用 SPF、DKIM、DMARC 等邮件验证
- 保持邮件内容质量,避免敏感词汇
Q2:附件太大无法发送?
解决方案:
- 压缩附件
- 使用云存储链接代替附件
- 分割大文件
- 使用支持大附件的邮件服务
Q3:如何确保邮件送达?
解决方案:
- 使用可靠的 SMTP 服务
- 实现重试机制
- 添加送达回执
- 监控退信和投诉率
八、下节预告
下一讲我们将进入 进阶开发技巧 章节,学习:
- 多平台 Skill 适配
- 数据持久化
- 安全与权限
- 性能优化
加入学习群

本讲是《AI Skills 从入门到实践》系列课程的第17讲。