文档

通用 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.cnsmtp.chinatelecom.cn465SSL
@189.cnsmtp.189.cn465SSL
@139.comsmtp.139.com465SSL
@163.comsmtp.163.com465SSL
@126.comsmtp.126.com465SSL
@qq.comsmtp.qq.com465SSL
@foxmail.comsmtp.qq.com465SSL
@sina.comsmtp.sina.com465SSL
@sohu.comsmtp.sohu.com465SSL
@aliyun.comsmtp.qiye.aliyun.com465SSL
@outlook.comsmtp-mail.outlook.com587STARTTLS
@hotmail.comsmtp-mail.outlook.com587STARTTLS
@gmail.comsmtp.gmail.com465SSL
@yeah.netsmtp.yeah.net465SSL
@263.netsmtp.263.net465SSL
@wo.cnsmtp.wo.cn465SSL

不在列表中的邮箱需通过 --smtp-server--smtp-port--smtp-mode 手动指定。

注意事项

  • 密码/授权码存储在 Windows 注册表 HKCU\Environment 下,仅限当前用户可读
  • QQ 邮箱、163 邮箱等使用授权码而非登录密码,需引导用户前往邮箱设置页面生成
  • 附件文件名支持中文,自动进行 Base64 编码
  • 多收件人逐个发送,每收件人单独建立 SMTP 连接
  • --check 参数可随时检查当前配置状态

相关技能

邮件与消息发送助手。覆盖 SMTP 发信(Gmail / Outlook / QQ / 163 / 企业邮箱)、IMAP 收信检索、以及常见消息通知(Webhook / 企业微信 / 飞书 / 钉钉机器人)。当用户需要"发邮件""通知我""把结果发到邮箱""读取邮件"时调用。

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...

作者 gzlicanyi

自动生成每日邮件摘要,支持主流邮箱,快速了解重要邮件。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.

1 星标

Connect to mainstream email providers and perform reliable send/receive workflows through IMAP and SMTP with password or OAuth2 authentication. Use when a us...

25 次安装