Email 邮件渠道
通过只读 IMAP 收取任务、SMTP 回复,配置发信人限制与邮件容量。
Email 渠道使用专用邮箱接收任务,以纯文本邮件回复。首次连接跳过所选文件夹中已有邮件,之后按持久化 UID 游标继续;它不管理邮箱,也不是把历史邮件自动导入 agent。
连接与凭据
在邮箱服务商启用 IMAP 和 SMTP,把密码放入启动进程环境,再合并配置:
{
"channels": {
"agent-mail": {
"type": "email",
"address": "agent@example.com",
"imapHost": "imap.example.com",
"imapUser": "agent@example.com",
"imapPassword": "$AGENT_IMAP_PASSWORD",
"smtpHost": "smtp.example.com",
"smtpUser": "agent@example.com",
"smtpPassword": "$AGENT_SMTP_PASSWORD",
"privatePolicy": "allowlist",
"allowedUsers": ["you@example.com"],
"sessionScope": "chat_thread",
"cwd": "/path/to/project"
}
}
}qwen channel start agent-mail上述域名和账号是占位值。默认隐式 TLS 端口为 IMAP 993、SMTP 465。将 imapSecure 或 smtpSecure 设为 false 后,默认端口分别为 143、587,但仍强制 STARTTLS 和证书验证,不会降成明文连接。可用 imapPort、smtpPort 指定端口;私有 CA 应在启动前通过 NODE_EXTRA_CA_CERTS 配置。
准入与收件人
privatePolicy 支持 allowlist、open、disabled,默认 allowlist,当前不支持 pairing。allowedUsers、operators 使用小写规范化的 ASCII 裸邮箱地址,显示名称不授予权限。From 白名单不能验证邮件来源真实性,邮箱服务商还需过滤伪造来信。
回复仅发给已经接纳的发送者。Reply-To、CC、BCC 和正文里的地址不能改写 SMTP 收件人。Message-ID、In-Reply-To、References 与发送者共同关联线程;回复 agent 邮件即可续接。no-reply 发信人可启动任务但不接收回复;自动邮件、邮件列表、投递报告和 agent 生成的邮件会被忽略。
默认 sessionScope 为 chat_thread,隔离发送者及邮件线程;显式 single 会共享 agent 会话。邮件正文支持 /help、/status 和权限回复。默认 dispatch 为 followup,也支持 steer;collect 被拒绝,因为其缓冲生命周期无法保留逐邮件的持久完成声明。
容量与附件
| 配置 | 默认值 | 超限或作用 |
|---|---|---|
| folder | INBOX | 只读访问一个 IMAP 文件夹 |
| pollInterval | 60000 | 轮询间隔,毫秒 |
| maxMessageBytes | 10485760 | 原始邮件最大 10 MiB,超限跳过 |
| maxAttachmentBytes | 5242880 | 单附件最大 5 MiB,超限忽略该附件 |
| maxTextLength | 32000 | 去引用历史、签名前的正文字符上限 |
| proactiveRecipients | [] | 默认不允许主动投递 |
每封最多转交 16 个附件。PNG、JPEG、GIF、WebP 走图片输入,其他附件在任务期间保存到生成的私有路径;图片理解仍需模型能力。HTML 转为文本且不加载远端资源,不支持日历和封装的 message/report 部件。
最多有 32 个普通投递处理中,另留控制回复及忙时响应的容量。等待任务时仍继续准入;达到容量的新任务收到稍后重发提示。当前版本不提供服务商 OAuth、富 HTML 输出、邮箱管理、S/MIME、PGP 或日历处理。
主动回复
proactiveRecipients 必须包含精确目标裸地址;线程目标还须匹配已知且当前获准的发送者与线程。未知目标直接失败,不换收件人或创建替代线程。
保存最近 256 条回复路由,每条最多 64 个标识,以及 1024 个近期入站标识。元数据淘汰后,UID 游标仍防止较早邮件重放;但已淘汰线程要等新接纳的邮件重建路由,才能再次主动回复。中断后的人工核对步骤见邮件恢复。