dsh-email
支持IMAP/SMTP邮件收发、整理与通知
AI 分析
适合需要Agent代为处理、收发和整理多邮箱邮件的用户,支持网页端配置。
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:STARDUSTLC666/dsh-email说明文档
阅读完整 README ↗配置
在你 profile 的 cordis.patch.yml 里覆盖 tool-email 行(在 $DSH_HOME/profiles// 下),然后重启:
- id: tool-email
config:
provider: qq # qq | 163 | 126 | sina | aliyun | gmail | outlook | icloud
user: you@qq.com
password: 你的授权码 # 强烈建议改用环境变量 DSH_EMAIL_PASSWORD,见下
不需要预设?手填任意 IMAP/SMTP 服务器即可:
- id: tool-email
config:
user: you@corp.example
password: 你的授权码
imap: { host: imap.corp.example, port: 993, secure: true }
smtp: { host: smtp.corp.example, port: 465, secure: true }
inboxFolder: INBOX
多账号:一个 tool-email 行可以配多个邮箱,工具调用时用 account 参数选择:
- id: tool-email
config:
accounts:
work: { provider: qq, user: work@qq.com, password: 授权码1 }
home: { provider: '163', user: home@163.com, password: 授权码2 }
defaultAccount: work # 省略 account 参数时用这个
downloadDir: E:/attachments # 可选,默认 $DSH_HOME/email-downloads
顶层的 provider/user/password/imap/smtp/inboxFolder 仍然可用,作为各账号的共享默认值(v0.1 单账号写法完全兼容)。
常用邮箱预设
| provider | IMAP | SMTP |
|---|---|---|
qq | imap.qq.com:993 (SSL) | smtp.qq.com:465 (SSL) |
163 | imap.163.com:993 | smtp.163.com:465 |
126 | imap.126.com:993 | smtp.126.com:465 |
sina | imap.sina.com:993 | smtp.sina.com:465 |
aliyun | imap.aliyun.com:993 | smtp.aliyun.com:465 |
gmail | imap.gmail.com:993 | smtp.gmail.com:465 |
outlook | outlook.office365.com:993 | smtp.office365.com:587 (STARTTLS) |
icloud | imap.mail.me.com:993 | smtp.mail.me.com:587 (STARTTLS) |
完整配置项
| 字段 | 默认 | 说明 |
|---|---|---|
provider | 无 | 预设名,自动填 imap/smtp 地址;显式写的 host/port/secure 优先 |
user | 必填 | 登录邮箱地址 |
password | 必填* | 授权码/应用专用密码;*也可用环境变量 DSH_EMAIL_PASSWORD |
imap.host/port/secure | 按预设 | 收信服务器(另有 connectionTimeoutMs/socketTimeoutMs 可调超时) |
smtp.host/port/secure | 按预设 | 发信服务器 |
inboxFolder | INBOX | 收发工具默认使用的文件夹 |
sendApproval | true | 发信前弹确认(强烈建议保留) |
maxBodyChars | 20000 | email_read 正文截断上限(1000–200000) |
accounts | 无 | 具名账号表;账号级字段覆盖顶层简写 |
accountsYaml | 无 | 设置页「多账号(高级)」文本框的 YAML 文本;非空时覆盖 accounts |
defaultAccount | 单账号时自动 | 工具省略 account 参数时使用的账号(多账号必填) |
downloadDir | 会话工作区下 .dsh-email-downloads(回退 $DSH_HOME/email-downloads) | email_attachment 的落盘目录;显式设置后固定 |
maxAttachmentBytes | 20 MiB | 单个附件与附件总大小上限(1024–512 MiB) |
idleTimeoutMs | 60000 | IMAP 空闲连接回收时间(连接复用,连续操作更快) |
bodySearchFallback | true | 服务器搜索无结果时,回退到客户端扫描最近邮件的正文 |
bodySearchLimit | 30 | 正文回退扫描的邮件数量(5-200) |
完整配置项
| 字段 | 默认 | 说明 |
|---|---|---|
provider | 无 | 预设名,自动填 imap/smtp 地址;显式写的 host/port/secure 优先 |
user | 必填 | 登录邮箱地址 |
password | 必填* | 授权码/应用专用密码;*也可用环境变量 DSH_EMAIL_PASSWORD |
imap.host/port/secure | 按预设 | 收信服务器(另有 connectionTimeoutMs/socketTimeoutMs 可调超时) |
smtp.host/port/secure | 按预设 | 发信服务器 |
inboxFolder | INBOX | 收发工具默认使用的文件夹 |
sendApproval | true | 发信前弹确认(强烈建议保留) |
maxBodyChars | 20000 | email_read 正文截断上限(1000–200000) |
accounts | 无 | 具名账号表;账号级字段覆盖顶层简写 |
accountsYaml | 无 | 设置页「多账号(高级)」文本框的 YAML 文本;非空时覆盖 accounts |
defaultAccount | 单账号时自动 | 工具省略 account 参数时使用的账号(多账号必填) |
downloadDir | 会话工作区下 .dsh-email-downloads(回退 $DSH_HOME/email-downloads) | email_attachment 的落盘目录;显式设置后固定 |
maxAttachmentBytes | 20 MiB | 单个附件与附件总大小上限(1024–512 MiB) |
idleTimeoutMs | 60000 | IMAP 空闲连接回收时间(连接复用,连续操作更快) |
bodySearchFallback | true | 服务器搜索无结果时,回退到客户端扫描最近邮件的正文 |
bodySearchLimit | 30 | 正文回退扫描的邮件数量(5-200) |