邮件与消息发送助手。覆盖 SMTP 发信(Gmail / Outlook / QQ / 163 / 企业邮箱)、IMAP 收信检索、以及常见消息通知(Webhook / 企业微信 / 飞书 / 钉钉机器人)。当用户需要"发邮件""通知我""把结果发到邮箱""读取邮件"时调用。
文档
通用 SMTP 邮件发送工具
试用通用 SMTP 邮件发送工具。通过命令行脚本发送纯文本或 HTML 邮件,支持多收件人、多附件。首次使用时需交互式配置邮箱地址和密码/授权码,凭据持久化存储在 Windows 注册表中。内置常见邮箱服务商 SMTP 服务器自动匹配(电信、189、139、163、QQ、126、Outlook、Gmail 等)。触发...
它能做什么
通用 SMTP 邮件发送工具。通过命令行脚本发送纯文本或 HTML 邮件,支持多收件人、多附件。首次使用时需交互式配置邮箱地址和密码/授权码,凭据持久化存储在 Windows 注册表中。内置常见邮箱服务商 SMTP 服务器自动匹配(电信、189、139、163、QQ、126、Outlook、Gmail 等)。触发场景:发邮件、发送报告、邮件通知、邮件提醒、定时发送邮件、批量发送邮件、send email、notify、email report、邮件附件、HTML邮件。
技能文档
SMTP 邮件发送工具
Overview
提供通用的 SMTP 邮件发送能力,封装在 scripts/send_email.py 脚本中。支持纯文本和 HTML 正文、多收件人、多附件。首次使用需配置邮箱凭据,后续自动读取。
首次使用 — 配置邮箱凭据
检查是否已配置:
python /scripts/send_email.py --check
如果输出"尚未配置邮箱凭据",则需引导用户完成配置。有两种方式:
方式一:交互式配置(推荐)
python /scripts/send_email.py --setup
脚本会提示用户输入邮箱地址和密码/授权码,自动识别 SMTP 服务器,并将凭据持久化到 Windows 注册表 HKCU\Environment。
方式二:手动设置环境变量
setx SMTP_MAIL_ADDR "your_email@domain.com"
setx SMTP_MAIL_PWD "your_password_or_auth_code"
注意:使用 QQ 邮箱、163 邮箱等需使用授权码而非登录密码。引导用户前往对应邮箱设置页面生成授权码。
发送邮件
发送纯文本邮件
python /scripts/send_email.py \
--to "person1@example.com,person2@example.com" \
--subject "邮件主题" \
--body "邮件正文内容"
发送 HTML 邮件(直接传 HTML 字符串)
python /scripts/send_email.py \
--to "person@example.com" \
--subject "HTML 邮件" \
--html-body "标题正文"
发送 HTML 邮件(从 HTML 文件读取)
python /scripts/send_email.py \
--to "person@example.com" \
--subject "报告邮件" \
--html-file report.html
发送带附件的邮件
python /scripts/send_email.py \
--to "person1@example.com,person2@example.com" \
--subject "带附件的邮件" \
--body "请查收附件" \
--attach report.csv \
--attach data.xlsx
指定发件人显示名称
python /scripts/send_email.py \
--to "person@example.com" \
--subject "邮件" \
--body "正文" \
--sender-name "运维团队"
指定自定义 SMTP 服务器
当邮箱域名不在自动匹配列表中时,手动指定:
python /scripts/send_email.py \
--to "person@example.com" \
--subject "邮件" \
--body "正文" \
--smtp-server "smtp.example.com" \
--smtp-port 465 \
--smtp-mode ssl
在 Python 脚本中直接调用
除了命令行方式,也可在 Python 脚本中导入使用:
import sys
sys.path.insert(0, '/scripts')
from send_email import send_email
# 检查并引导配置
from send_email import get_credential
addr, pwd = get_credential()
if not addr or not pwd:
print("邮箱未配置,请运行: python send_email.py --setup")
sys.exit(1)
# 发送邮件
send_email(
recipients=['a@b.com', 'c@d.com'],
subject='邮件主题',
body='纯文本正文',
attachments=['report.csv', 'data.xlsx'],
)
发送 HTML 表格邮件示例:
html = '''
各位好,
名称
数值
项目A
100
'''
send_email(
recipients='a@b.com,c@d.com',
subject='数据报告',
html_body=html,
attachments=['report.csv'],
)
自动支持的 SMTP 服务器
以下邮箱域名可自动匹配 SMTP 服务器,无需手动指定:
| 邮箱域名 | SMTP 服务器 | 端口 | 加密方式 |
|---|---|---|---|
| @chinatelecom.cn | smtp.chinatelecom.cn | 465 | SSL |
| @189.cn | smtp.189.cn | 465 | SSL |
| @139.com | smtp.139.com | 465 | SSL |
| @163.com | smtp.163.com | 465 | SSL |
| @126.com | smtp.126.com | 465 | SSL |
| @qq.com | smtp.qq.com | 465 | SSL |
| @foxmail.com | smtp.qq.com | 465 | SSL |
| @sina.com | smtp.sina.com | 465 | SSL |
| @sohu.com | smtp.sohu.com | 465 | SSL |
| @aliyun.com | smtp.qiye.aliyun.com | 465 | SSL |
| @outlook.com | smtp-mail.outlook.com | 587 | STARTTLS |
| @hotmail.com | smtp-mail.outlook.com | 587 | STARTTLS |
| @gmail.com | smtp.gmail.com | 465 | SSL |
| @yeah.net | smtp.yeah.net | 465 | SSL |
| @263.net | smtp.263.net | 465 | SSL |
| @wo.cn | smtp.wo.cn | 465 | SSL |
不在列表中的邮箱需通过 --smtp-server、--smtp-port、--smtp-mode 手动指定。
注意事项
- 密码/授权码存储在 Windows 注册表
HKCU\Environment下,仅限当前用户可读 - QQ 邮箱、163 邮箱等使用授权码而非登录密码,需引导用户前往邮箱设置页面生成
- 附件文件名支持中文,自动进行 Base64 编码
- 多收件人逐个发送,每收件人单独建立 SMTP 连接
--check参数可随时检查当前配置状态
相关技能
Read and send email via IMAP/SMTP. Check for new/unread messages, fetch content, search mailboxes, mark as read/unread, and send emails with attachments. Sup...
自动生成每日邮件摘要,支持主流邮箱,快速了解重要邮件。Use when 需要消息发送、通知推送、邮件短信、通信集成时使用。不适用于垃圾信息群发。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。提供结构化输出和错误处理机制。支持多场景应用和灵活配置。
邮件日报专业版面向企业用户与高效能个人用户。Use when 需要消息发送、通知推送、邮件短信、通信集成时使用。不适用于垃圾信息群发。适用于独立开发者、企业团队和自动化工作流场景。支持中文交互,无需复杂配置即开即用。输出结果可直接使用,减少二次加工成本。提供结构化输出和错误处理机制。支持多场景应用和灵活配置。
Send emails securely without exposing SMTP passwords. Users store SMTP credentials and email scripts in MGC; AI executes scripts via mgc_run blackbox. AI never sees credentials, script content, or email body (when stored in MGC). Adapted to MGC 1.4.10.
Connect to mainstream email providers and perform reliable send/receive workflows through IMAP and SMTP with password or OAuth2 authentication. Use when a us...