Agent办公技能之自动发送邮件:基于 Python SMTP 的 Agent 自动邮件发送项目

可用于让 AI 智能体自动撰写并发送邮件,适合通知、提醒等自动化场景。项目基于 Python 标准库实现 SMTP 发送能力,支持 QQ、163、Gmail 等多邮箱和多账号路由,支持文本、HTML、抄送、密送和附件,并提供清晰错误提示。

分支2Tags0
当前项目代码仓暂无内容

SendmailSkills — Agent 发邮件技能

让 AI 智能体(Agent)通过 SMTP 协议自动发送邮件。用户只需填写邮箱账号和授权码,即可让 Agent 自动撰写并发送邮件。

特性

  • 零第三方依赖:仅用 Python 标准库 smtplib + email
  • 多邮箱支持:QQ / 163 / 126 / 新浪 / Gmail,自动识别 SMTP 服务器与端口
  • 多账号路由:可配置多个邮箱,按发件人自动切换
  • 纯文本 + HTML 邮件:支持富文本正文
  • 抄送/密送/附件:完整的邮件发送能力
  • 清晰错误提示:授权码错误、服务器连接失败等自动识别

快速开始

1. 获取授权码

邮箱 如何获取授权码
QQ 设置 → 账户 → 开启「POP3/SMTP服务」→ 生成授权码
163 / 126 设置 → POP3/SMTP/IMAP → 开启 SMTP → 生成授权码
新浪 设置 → 客户端 POP3/SMTP → 开启 → 获取授权码
Gmail 开启两步验证 → 生成「应用专用密码」

⚠️ 授权码 ≠ 登录密码,请务必使用授权码/应用专用密码。

2. 配置账号

cp config/accounts.example.json config/accounts.json

编辑 config/accounts.json,填入邮箱账号和授权码:

{
  "accounts": [
    {
      "name": "我的QQ邮箱",
      "provider": "qq",
      "user": "yourname@qq.com",
      "auth_code": "你的授权码",
      "from_name": "张三"
    }
  ]
}

3. 发送邮件

CLI 方式:

python scripts/send_mail.py \
  --config config/accounts.json \
  --to "receiver@example.com" \
  --subject "会议通知" \
  --body "明天下午 3 点开会"

Python 模块方式:

from scripts.send_mail import send_email

result = send_email(
    config_path="config/accounts.json",
    to="receiver@example.com",
    subject="会议通知",
    body="明天下午 3 点开会",
)
print(result)

目录结构

SendmailSkills/
├── SKILL.md                       # 技能定义(Agent 读取)
├── README.md                      # 使用说明
├── config/
│   ├── accounts.example.json      # 配置文件模板
│   └── accounts.json              # 你的配置(已 gitignore,不提交)
└── scripts/
    └── send_mail.py               # 核心发送脚本

支持的邮箱

provider 邮箱 SMTP 服务器 端口
qq QQ 邮箱 smtp.qq.com 587
163 163 邮箱 smtp.163.com 465
126 126 邮箱 smtp.126.com 465
sina 新浪邮箱 smtp.sina.com 465
gmail Gmail smtp.gmail.com 587
custom 自定义 自定义 host/port 自定义

安全说明

  • 授权码保存在本地 config/accounts.json,该文件已加入 .gitignore,不会被提交到仓库
  • 请勿将 accounts.json 上传到任何公开平台

许可证

MIT

项目介绍

可用于让 AI 智能体自动撰写并发送邮件,适合通知、提醒等自动化场景。项目基于 Python 标准库实现 SMTP 发送能力,支持 QQ、163、Gmail 等多邮箱和多账号路由,支持文本、HTML、抄送、密送和附件,并提供清晰错误提示。

定制我的领域