
1. 微信里发一句话电脑上的 OpenClaw 就把邮件发了先说清楚这篇要解决的事你人在外面手机只有微信但需要收一封重要邮件、或者把电脑里某个文件当附件发出去。正常流程是打开电脑、登录邮箱、找文件、填收件人、点发送一套下来十分钟没了。现在换成在微信对话框里打一句话电脑上的 OpenClaw 自动调 IMAP/SMTP 把活干完邮件发出去之后你还能在微信里看到执行结果。这套玩法的核心组件有三个微信负责当遥控器OpenClawQClaw 是它的桌面发行版负责在电脑上执行邮箱的 IMAP/SMTP 协议负责真正收发信。中间还差一环——OpenClaw 调用模型来理解你的自然语言指令这一步需要模型 API。我用 TaoToken 的统一通道把模型调用接进来一个 Key 走完全部流程不用在多个平台之间来回切。适合谁看手里有电脑常开、邮箱是 163/QQ/Gmail 这类支持 IMAP 的、想用微信远程处理邮件但不想写代码的人。整篇按「配置 → 接入 → 验证 → 排错」的顺序写每一步都有可复制的片段跟着做能复现「微信发指令 → 电脑执行 → 邮箱收到信」的闭环。需要提前说明的是OpenClaw 本身是运行在你电脑上的程序微信只是消息入口所有邮件操作都在你本机完成授权码也只存在本地配置里。这一点在后面的配置环节会具体展开。2. 前置准备OpenClaw 侧邮箱监听与 TaoToken 统一 Key 接入2.1 先把邮箱的 IMAP/SMTP 服务打开以 163 邮箱为例登录网页版后进入「设置 → POP3/SMTP/IMAP」把 IMAP/SMTP 服务开启。开启时会让你设置一个授权码这个码不是你的登录密码是专门给第三方客户端用的。把它记下来后面配置里要用。QQ 邮箱路径类似「设置 → 账户 → POP3/IMAP/SMTP 服务」开启后同样生成授权码。Gmail 需要在账户安全里开启两步验证后生成应用专用密码。这里有个容易踩的坑很多人直接把邮箱登录密码填进配置结果连接时报AUTHENTICATIONFAILED。IMAP/SMTP 走的是授权码不是登录密码两者不能混用。2.2 在 OpenClaw 里配置邮箱 skillOpenClaw 的收发邮件能力是通过imap-smtp-email这个 skill 实现的。你可以在 OpenClaw 的 skill 目录里找到它配置文件通常是一个 JSON 或 TOML。下面是一份可复制的配置片段路径按你实际的 skill 目录调整{ skill: imap-smtp-email, accounts: [ { name: 163, imap_host: imap.163.com, imap_port: 993, imap_secure: true, smtp_host: smtp.163.com, smtp_port: 465, smtp_secure: true, username: your_account163.com, password: 你的授权码, default: true } ] }字段说明imap_port用 993 走 SSLsmtp_port用 465 走 SSL这两个端口是 163 的标准配置。password填授权码不是登录密码。default: true表示这是默认账户发信时不指定账户就用它。如果你用的是 TOML 格式等价写法是[[accounts]] name 163 imap_host imap.163.com imap_port 993 imap_secure true smtp_host smtp.163.com smtp_port 465 smtp_secure true username your_account163.com password 你的授权码 default true配置改完记得重启 OpenClaw让 skill 重新加载。2.3 接入 TaoToken 统一通道OpenClaw 理解你的自然语言指令需要调用模型。这里用 TaoToken 的统一通道一个 Key 就能调多个模型省得在 OpenClaw 里配一堆 provider。先到 TaoToken 控制台创建一个 API Key地址是 https://taotoken.net/api-keys 。创建后复制出来形如sk-开头的一串。然后在 OpenClaw 的模型配置里填入三件套Base URL、API Key、Model ID。{ provider: taotoken, base_url: https://taotoken.net/api, api_key: sk-你的Key, model_id: claude-sonnet-4-5, max_tokens: 4096 }Base URL 填https://taotoken.net/api注意不要带多余的路径后缀。Model ID 按你实际要用的模型填比如claude-sonnet-4-5或gpt-4o。如果你在 OpenClaw 里用的是 Claude Code 那套配置对应的是ANTHROPIC_BASE_URL和ANTHROPIC_API_KEY两个环境变量export ANTHROPIC_BASE_URLhttps://taotoken.net/api export ANTHROPIC_API_KEYsk-你的Key这样 OpenClaw 在调用模型时就会走 TaoToken 通道邮箱 skill 负责实际收发信模型负责理解你的指令。两者分工明确互不干扰。3. 可复制配置微信关联 OpenClaw 与完整 settings 片段3.1 微信扫码关联OpenClaw 桌面版QClaw安装后左下角有登录入口用微信扫码登录。登录后会弹出「关联微信」的提示点确认这样手机微信就能给电脑上的 OpenClaw 发指令了。关联成功后微信里会出现一个 QClaw 客服会话你在这个会话里发的消息会被转发到电脑上的 OpenClaw 执行。注意这不是普通的微信聊天是 OpenClaw 通过微信客服消息通道建立的双向通信。3.2 完整的 settings 配置片段把前面的邮箱配置和模型配置合在一起一份完整的 settings 大概长这样。路径按你实际的 OpenClaw 配置目录调整通常在~/.openclaw/settings.json或安装目录下的config文件夹{ model: { provider: taotoken, base_url: https://taotoken.net/api, api_key: sk-你的Key, model_id: claude-sonnet-4-5 }, skills: { imap-smtp-email: { accounts: [ { name: 163, imap_host: imap.163.com, imap_port: 993, imap_secure: true, smtp_host: smtp.163.com, smtp_port: 465, smtp_secure: true, username: your_account163.com, password: 你的授权码, default: true } ] } }, wechat: { enabled: true, channel: customer_service } }三件套对照一下Base URL 是https://taotoken.net/apiAPI Key 是sk-开头那串Model ID 是claude-sonnet-4-5。这三个填对模型调用就通了。邮箱那部分填对收发信就通了。3.3 如果你用 Cline MCP 或 Codex有些人是通过 Cline 的 MCP 配置来挂 OpenClaw 的那配置位置在 Cline 的 MCP settings 里格式是{ mcpServers: { openclaw: { command: openclaw, args: [--mcp], env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: sk-你的Key } } } }如果你用的是 Codex配置在~/.codex/auth.json把 base URL 和 key 填进去{ base_url: https://taotoken.net/api, api_key: sk-你的Key }不管走哪条路三件套Base URL Key Model ID都要齐全缺一个就会在调用时报错。4. 验证请求从微信发指令到邮箱收到回信4.1 第一步在微信里查邮件配置完成后在微信的 QClaw 会话里发一句「帮我看看最近三封邮件」。电脑上的 OpenClaw 会收到这条消息调用imap-smtp-emailskill 去连 163 的 IMAP 服务器拉取最近三封邮件然后把标题和发件人返回给你。如果这一步成功微信里会看到类似这样的回复最近三封邮件 1. 发件人bosscompany.com 主题Q3 报表 时间今天 09:12 2. 发件人noreplygithub.com 主题PR merged 时间今天 08:45 3. 发件人friendqq.com 主题周末聚餐 时间昨天 20:30这一步验证的是 IMAP 读取链路微信 → OpenClaw → IMAP → 返回结果 → 微信。4.2 第二步发一封测试邮件在微信里发「给 testqq.com 发一封邮件主题是测试内容是微信控制邮箱成功」。OpenClaw 会调用 SMTP 去发信。发完后去 testqq.com 的收件箱看应该能收到这封信。如果没收到先看垃圾箱163 发 QQ 有时会被拦。这一步验证的是 SMTP 发送链路微信 → OpenClaw → SMTP → 目标邮箱。4.3 第三步发带附件的邮件这一步稍微复杂点。先在电脑上准备一个文件比如~/Documents/report.pdf。然后在微信里发「把 ~/Documents/report.pdf 作为附件发给 testqq.com主题是报表」。OpenClaw 会先读文件确认存在然后调 SMTP 带附件发送。目标邮箱收到后附件应该能正常下载打开。这一步验证的是文件读取 附件编码 SMTP 发送的完整链路。如果附件收到但打不开多半是 MIME 编码问题检查 skill 版本是否最新。4.4 用 API 直接验证模型通道如果你想单独确认 TaoToken 通道是通的可以绕过 OpenClaw直接用 curl 打一次curl https://taotoken.net/api/v1/messages \ -H Content-Type: application/json \ -H x-api-key: sk-你的Key \ -H anthropic-version: 2023-06-01 \ -d { model: claude-sonnet-4-5, max_tokens: 100, messages: [{role: user, content: 回复通道正常}] }返回里如果有content字段且内容是「通道正常」说明 Key 和 Base URL 都对。这一步能把模型通道和邮箱 skill 的问题分开定位——如果 curl 通了但微信指令没反应问题在 OpenClaw 或微信关联如果 curl 就报错问题在 Key 或 Base URL。5. 常见报错排查401、local proxy failed、reading choices、OAuth5.1 401 Unauthorized这是最常见的。报错长这样Error: 401 Unauthorized {error:{type:authentication_error,message:invalid api key}}原因通常是三个Key 复制时多了空格、Key 已经过期或被删、Base URL 填错导致请求打到了别的服务。排查顺序先检查api_key字段有没有前后空格再登录 TaoToken 控制台确认 Key 还在最后确认base_url是https://taotoken.net/api而不是别的地址。如果用的是环境变量echo $ANTHROPIC_API_KEY看一下值对不对。5.2 local proxy failed报错长这样Error: local proxy failed: dial tcp 127.0.0.1:7890: connect: connection refused这个说明 OpenClaw 或某个依赖在尝试走本地代理端口但那个端口没有服务在跑。检查你的系统代理设置或者 OpenClaw 配置里有没有proxy字段指向了一个不存在的端口。把代理配置去掉或者改成直连。如果你之前配过HTTP_PROXY或HTTPS_PROXY环境变量unset掉再试。5.3 reading choices 报错报错长这样Error: reading choices: unexpected end of JSON input这个通常出现在模型返回的响应不是标准 JSON 时。原因可能是 Base URL 填成了https://taotoken.net/api/v1这种带后缀的导致请求路径拼接错误返回了 HTML 而不是 JSON。把 Base URL 改回https://taotoken.net/api不要带/v1或/messages后缀SDK 会自己拼。5.4 OAuth 相关报错如果你在 OpenClaw 里用的是 Claude Code 那套 OAuth 登录可能会遇到Error: OAuth token expired, please re-authenticate这种情况建议直接切到 API Key 模式用 TaoToken 的 Key 走ANTHROPIC_BASE_URLANTHROPIC_API_KEY比 OAuth 稳定也不会因为 token 过期中断。配置方式在 3.3 节已经给了。5.5 邮箱连接报错如果模型通道没问题但查邮件时报IMAP connection refused或AUTHENTICATIONFAILED检查三件事授权码是不是填成了登录密码、IMAP 服务有没有在邮箱设置里开启、端口是不是 993SSL。163 和 QQ 都必须用授权码不能用登录密码。6. 把微信变成邮箱遥控器长期跑起来整套流程跑通之后实际使用是这样的你在外面用微信发一句话电脑上的 OpenClaw 调 TaoToken 通道理解指令再调邮箱 skill 执行收发信结果回到微信。整个过程你不需要打开电脑也不需要登录邮箱网页。如果你打算长期用建议把 OpenClaw 设成开机自启电脑保持常开。模型调用走 TaoToken 的 Coding Plan 会更划算适合这种高频、长期的 Agent 场景地址是 https://taotoken.net/coding-plan 。邮箱 skill 的配置一次写好就不用动了授权码除非你主动重置否则一直有效。有个实用技巧在微信里给 OpenClaw 发指令时把常用操作说清楚一点比如「查未读邮件」比「看看邮件」更准因为模型会根据你的措辞决定调 IMAP 的哪个文件夹和过滤条件。附件路径用绝对路径相对路径在 OpenClaw 的工作目录不确定时容易找不到文件。最后提醒一句邮箱授权码存在本地配置文件里别把这个文件传到公开仓库。如果多人共用一台电脑给 OpenClaw 单独建一个系统账户配置文件权限设成 600。