核心功能
该技能提供完整的邮件收发能力,基于标准的IMAP(接收)和SMTP(发送)协议,兼容几乎所有主流邮件服务商。
接收邮件功能:
- check: 检查新邮件/未读邮件,支持时间过滤(如最近2小时)
- fetch: 获取完整邮件内容及元数据
- download: 批量或单独下载邮件附件
- search: 多维度搜索(发件人、主题、时间范围、已读状态等)
- mark-read/mark-unread: 批量标记邮件状态
- move: 邮件归档/移动到指定文件夹
- list-mailboxes: 列出所有邮箱文件夹
发送邮件功能:
- 支持纯文本/HTML格式
- 多收件人(To/CC/BCC)、附件支持
- 从文件读取邮件正文/主题
显著优点
1. 协议原生支持:不依赖特定邮件服务商API,任何支持IMAP/SMTP的邮箱均可使用
2. 国内邮箱深度适配:专门针对163/126/188/vip系列及yeah.net提供详细配置说明
3. 功能完整:涵盖邮件管理的完整生命周期——接收、搜索、处理、归档、发送
4. 批量操作友好:UID支持多邮件批量处理,适合自动化邮件归档场景
潜在缺点与局限性
1. 凭证安全风险:需存储明文邮箱密码(或授权码)在环境变量中,存在泄露风险
2. 无OAuth支持:不支持现代Gmail/Outlook的OAuth2.0认证,强制使用密码或应用专用密码
3. 无邮件同步状态:IMAP操作是即时的,无本地缓存机制,频繁操作可能触发服务商限流
4. 附件处理限制:下载功能依赖本地文件系统,大附件可能受限于磁盘空间和内存
5. HTML解析能力弱:仅支持发送HTML,接收邮件时HTML内容需自行解析
适合人群
- 需要批量处理邮件的自动化场景(如自动归档、定期清理)
- 使用国内邮箱(163/126/QQ)的用户,这些邮箱对标准协议支持较好
- 需要无头环境邮件收发的服务器端应用
- 希望不依赖第三方邮件API、保持数据自主可控的场景
常规风险
| 风险类型 | 说明 |
|---------|------|
| **凭证泄露** | `.env`文件若未加入.gitignore或权限设置不当,密码可能意外提交 |
| **中间人攻击** | 若关闭`REJECT_UNAUTHORIZED`使用自签名证书,TLS保护失效 |
| **服务商封禁** | 高频IMAP操作可能触发163/Gmail等的安全限制 |
| **授权码过期** | 163等平台的授权码可能定期失效,需手动更新 |
配置建议
- 始终使用应用专用密码(Gmail App Password / 163授权码),而非主密码
- 生产环境建议配合密码管理服务(如Vault)动态注入凭证
- 敏感邮箱建议启用独立的安全邮箱,与主邮箱隔离