采集到的新闻自动发送 - 邮箱/企业微信/飞书

本文重点

采集到的新闻自动发送 - 邮箱/企业微信/飞书 创建时间: 2026-04-01 难度: ⭐⭐⭐(需要配置通知渠道) 预计耗时: 45 分钟 前置要求: 完成第 1 篇(CSDN 采集) 状态: ✅ 完成 --- 教学目标 学完这篇,你将学...

采集到的新闻自动发送 - 邮箱/企业微信/飞书

创建时间: 2026-04-01
难度: ⭐⭐⭐(需要配置通知渠道)
预计耗时: 45 分钟
前置要求: 完成第 1 篇(CSDN 采集)
状态: ✅ 完成

---

<## id="section-0">🎯 教学目标</##>

学完这篇,你将学会:

• ✅ 配置邮箱 SMTP 发送

• ✅ 配置企业微信机器人

• ✅ 配置飞书机器人

• ✅ 格式化消息内容(Markdown)

• ✅ 设置定时自动发送

• ✅ 诊断发送失败问题

---

<## id="section-1">📋 场景介绍</##>

你是: 科技从业者/团队负责人

需求: 每天早上自动收到 CSDN 热门新闻

痛点(第 1 篇完成后):

• ❌ 采集到的 JSON 文件躺在桌面

• ❌ 每天要记得打开查看

• ❌ 团队成员无法共享

解决方案:

• ✅ 采集后自动发送

• ✅ 多种通知渠道(邮箱/企微/飞书)

• ✅ 格式化消息(Markdown)

• ✅ 定时任务(每天 8:00)

最终效果:

每天早上 8:00,自动收到 CSDN 热门新闻推送

【邮箱】主题:科技日报 - CSDN 热门(2026-04-01)
【企微】消息卡片:标题 + 摘要 + 链接
【飞书】富文本消息:格式化新闻列表

团队成员共享,无需手动查看文件

---

<## id="section-2">🗺️ 完整流程</##>

第 1 步:采集 CSDN 热门(第 1 篇已完成)

第 2 步:格式化新闻内容(Markdown)

第 3 步:选择发送渠道(邮箱/企微/飞书)

第 4 步:配置通知渠道(一次性)

第 5 步:发送消息

第 6 步:设置定时任务(每天 8:00)

第 7 步:验证接收

---

<## id="section-3">💬 关键指令(直接复制)</##>

<### id="section-4">基础版指令(多通道发送)</###>

你是一个自动化助手,帮我把采集的 CSDN 新闻发送给用户

【输入数据】

• 来源:/Users/openclaw/Desktop/csdn_news_YYYY-MM-DD.json

• 内容:20 条 CSDN 热门新闻

【发送渠道】
优先使用以下渠道(按顺序,成功即停止):
1. 企业微信机器人
2. 飞书机器人
3. 邮箱 SMTP

【企业微信配置】

• Webhook URL: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=XXX

• 消息类型:Markdown

• 发送失败:尝试下一个渠道

【飞书配置】

• Webhook URL: https://open.feishu.cn/open-apis/bot/v2/hook/XXX

• 消息类型:富文本

• 发送失败:尝试下一个渠道

【邮箱配置】

• SMTP 服务器:smtp.gmail.com 或 smtp.qq.com

• 端口:587 (TLS) 或 465 (SSL)

• 发件人:your_email@gmail.com

• 收件人:your_email@xxx.com

• 主题:科技日报 - CSDN 热门(日期)

• 发送失败:记录日志

【消息格式】

科技日报 - CSDN 热门

<## id="section-5">📅 采集时间
2026-04-01 08:00

<## id="section-6">🔥 热门新闻(Top 10)

1. 新闻标题 1
阅读量:15000 | 时间:08:00

2. 新闻标题 2
阅读量:12000 | 时间:07:30

...(共 10 条)

<## id="section-7">📊 统计

• 采集总数:20 条

• 推送条数:10 条(Top 10)

• 数据来源:CSDN

---
自动推送 | 回复"停止"取消订阅

【定时任务】

• 每天早上 8:00 自动执行

• 周末和节假日也执行

• 失败时重试 3 次(间隔 5 分钟)

【开始执行】
请先读取 JSON 文件,然后格式化并发送

<### id="section-8">使用说明</###>

1. 获取企业微信 Webhook URL

企业微信 → 工作台 → 群机器人 → 添加 → 复制 Webhook
格式:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=XXX

2. 获取飞书 Webhook URL

飞书群 → 群设置 → 智能助手 → 添加机器人 → 复制 Webhook
格式:https://open.feishu.cn/open-apis/bot/v2/hook/XXX

3. 配置邮箱 SMTP

Gmail:
• SMTP: smtp.gmail.com

• 端口:587 (TLS)

• 需要应用专用密码

QQ 邮箱:

• SMTP: smtp.qq.com

• 端口:587 (TLS)

• 需要授权码(非登录密码)

---

<## id="section-9">🚀 执行过程</##>

<### id="section-10">第 1 步:配置通知渠道(一次性)</###>

#### 选项 A:企业微信机器人

操作步骤:
1. 打开企业微信
2. 进入要接收消息的群(或自建群)
3. 点击右上角「…」→「群机器人」
4. 点击「添加」
5. 选择「自定义机器人」
6. 命名:「CSDN 新闻推送」
7. 复制 Webhook URL(保存好,后面要用)

截图位置: (此处放企业微信机器人配置截图)

测试发送:

用浏览器访问 Webhook URL,发送测试消息:

https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=XXX

POST 数据:
{
"msgtype": "text",
"text": {
"content": "测试消息"
}
}

如果收到"errmsg": "ok",说明配置成功

---

#### 选项 B:飞书机器人

操作步骤:
1. 打开飞书
2. 进入要接收消息的群(或自建群)
3. 点击右上角「…」→「智能助手」
4. 点击「添加机器人」
5. 选择「自定义机器人」
6. 命名:「CSDN 新闻推送」
7. 复制 Webhook URL(保存好,后面要用)

截图位置: (此处放飞书机器人配置截图)

测试发送:

用 curl 命令测试:

curl -X POST https://open.feishu.cn/open-apis/bot/v2/hook/XXX \
-H "Content-Type: application/json" \
-d '{
"msg_type": "text",
"content": {
"text": "测试消息"
}
}'

如果收到"StatusCode": 0,说明配置成功

---

#### 选项 C:邮箱 SMTP

Gmail 配置:
1. 登录 Gmail
2. 设置 → 转发和 POP/IMAP → 启用 IMAP
3. Google 账户 → 安全性 → 两步验证(必须开启)
4. 安全性 → 应用专用密码 → 生成密码
5. 保存密码(后面要用)

QQ 邮箱配置:
1. 登录 QQ 邮箱
2. 设置 → 账户 → POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV 服务
3. 开启 IMAP/SMTP 服务
4. 生成授权码(短信验证)
5. 保存授权码(后面要用)

截图位置: (此处放邮箱配置截图)

---

<### id="section-11">第 2 步:发送采集指令</###>

操作: 复制上方关键指令,发送给 OpenClaw

预期回复:

好的,我开始发送 CSDN 热门新闻。

【步骤 1】读取 JSON 文件...
✅ 读取成功:/Users/openclaw/Desktop/csdn_news_2026-04-01.json
✅ 共 20 条新闻

【步骤 2】格式化消息内容...
✅ 格式化完成

【步骤 3】尝试企业微信发送...
✅ 发送成功
收到时间:2026-04-01 08:00:15

【统计】

• 发送渠道:企业微信

• 消息类型:Markdown

• 推送条数:10 条(Top 10)

• 发送状态:成功

下次发送时间:2026-04-02 08:00

截图位置: (此处放 OpenClaw 回复截图 + 收到的消息截图)

---

<### id="section-12">第 3 步:验证接收</###>

检查要点:

企业微信:

• ✅ 消息格式正确(Markdown 渲染)

• ✅ 链接可点击

• ✅ 标题清晰

• ✅ 阅读量显示

飞书:

• ✅ 富文本格式正确

• ✅ 链接可点击

• ✅ 表情符号正常显示

邮箱:

• ✅ 主题清晰(科技日报 - CSDN 热门)

• ✅ 正文格式正确

• ✅ 链接可点击

• ✅ 无乱码

截图位置: (此处放三个渠道收到的消息截图)

---

<## id="section-13">⚠️ 可能出现的错误</##>

<### id="section-14">错误 1:企业微信发送失败</###>

现象:

OpenClaw 回复:
❌ 企业微信发送失败
错误信息:400 Bad Request
或:419 参数异常

诊断步骤:
1. 检查 Webhook URL 是否正确
2. 检查消息格式是否符合企业微信规范
3. 检查网络是否通畅

修正方法:

方法 1:检查 Webhook URL

原:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=XXX
检查:
• key 参数是否完整

• 是否有空格或特殊字符

• 是否已过期(重新生成)

方法 2:调整消息格式

企业微信 Markdown 支持有限,调整格式:

【不支持的格式】

• 复杂表格

• 某些 HTML 标签

【支持的格式】

• 标题:# ## ###

• 粗体:文本

• 链接:文本

• 列表:- 或 1.

修改指令:
【消息格式】
使用简化的 Markdown:

科技日报 - CSDN 热门

<## id="section-5">📅 采集时间
2026-04-01 08:00

<## id="section-16">🔥 热门新闻

1. 新闻标题 1
阅读量:15000
查看详情

2. 新闻标题 2
...

方法 3:改用 text 类型

如果 Markdown 一直失败,改用纯文本:

在指令中修改:
【企业微信配置】

• 消息类型:text(不用 Markdown)

• 内容格式:纯文本

消息示例:
科技日报 - CSDN 热门(2026-04-01)

1. 新闻标题 1 - 阅读量 15000
链接:https://...

2. 新闻标题 2 - 阅读量 12000
链接:https://...

...

验证:

• ✅ 重新发送指令

• ✅ 确认发送成功

• ✅ 检查消息格式

---

<### id="section-17">错误 2:飞书发送失败</###>

现象:

OpenClaw 回复:
❌ 飞书发送失败
错误信息:93012
或:签名验证失败

诊断步骤:
1. 检查 Webhook URL 是否正确
2. 检查机器人是否启用
3. 检查消息格式

修正方法:

方法 1:检查机器人状态

飞书群 → 群设置 → 智能助手
检查:
• 机器人是否存在

• 是否已启用

• Webhook URL 是否匹配

• 如已删除,重新添加

方法 2:调整消息格式

飞书支持富文本,格式要求:

{
"msg_type": "post",
"content": {
"post": {
"zh_cn": {
"title": "科技日报 - CSDN 热门",
"content": [
[
{
"tag": "text",
"text": "1. "
},
{
"tag": "a",
"text": "新闻标题 1",
"href": "https://..."
}
]
]
}
}
}
}

如果复杂格式失败,改用 text 类型

验证:

• ✅ 重新发送指令

• ✅ 确认发送成功

---

<### id="section-18">错误 3:邮箱发送失败</###>

现象:

OpenClaw 回复:
❌ 邮箱发送失败
错误信息:Authentication failed
或:Connection timeout
或:Relay access denied

诊断步骤:
1. 检查 SMTP 配置(服务器/端口/密码)
2. 检查网络连接
3. 检查邮箱安全设置

修正方法:

方法 1:Gmail 认证失败

Gmail 需要应用专用密码:

1. Google 账户 → 安全性
2. 两步验证(必须开启)
3. 应用专用密码 → 生成
4. 使用生成的密码(不是登录密码)
5. 如果还是失败,开启"不够安全的应用"

Gmail 配置:

• SMTP: smtp.gmail.com

• 端口:587 (TLS)

• 用户名:完整邮箱地址

• 密码:应用专用密码

方法 2:QQ 邮箱认证失败

QQ 邮箱需要授权码:

1. QQ 邮箱 → 设置 → 账户
2. 开启 POP3/SMTP 服务
3. 生成授权码(短信验证)
4. 使用授权码(不是登录密码)

QQ 邮箱配置:

• SMTP: smtp.qq.com

• 端口:587 (TLS)

• 用户名:完整邮箱地址

• 密码:授权码(16 位)

方法 3:连接超时

检查网络:
1. ping smtp.gmail.com
2. 检查防火墙设置
3. 尝试切换端口(587 ↔ 465)
4. 如果是公司网络,可能需要代理

修改配置:

• 端口:587 (TLS) 或 465 (SSL)

• 超时时间:30 秒

• 重试次数:3 次

验证:

• ✅ 重新发送指令

• ✅ 检查邮箱是否收到

• ✅ 检查垃圾邮件箱

---

<### id="section-19">错误 4:定时任务未执行</###>

现象:

到时间了(8:00),但没有收到消息
OpenClaw 也没有任何提示

诊断步骤:
1. 检查定时任务是否配置成功
2. 查看 OpenClaw 日志
3. 检查系统时间是否正确

修正方法:

方法 1:重新配置定时任务

在指令中明确定时任务配置:

【定时任务】

• 启用 OpenClaw 定时任务功能

• 执行时间:每天 08:00

• 时区:Asia/Shanghai

• 任务名称:CSDN 新闻推送

• 失败重试:3 次(间隔 5 分钟)

配置完成后,请确认定时任务已保存

方法 2:检查 OpenClaw 状态

检查 OpenClaw 是否运行:
• openclaw status

• 查看定时任务列表

• 检查日志文件

如果 OpenClaw 未运行,启动它

方法 3:手动触发测试

在发送前,先手动触发一次:

【测试发送】

• 现在立即发送一次测试

• 确认配置正确

• 然后再设置定时任务

这样可以排除配置问题

验证:

• ✅ 手动触发测试(立即发送)

• ✅ 确认收到消息

• ✅ 设置定时任务

• ✅ 等到第二天 8:00 验证

---

<### id="section-20">错误 5:消息格式混乱</###>

现象:

收到消息,但格式混乱:
• Markdown 没渲染

• 链接不可点击

• 表情符号显示为代码

• 换行丢失

诊断步骤:
1. 检查消息格式是否符合渠道规范
2. 检查特殊字符是否转义
3. 检查换行符是否正确

修正方法:

方法 1:简化 Markdown

不同渠道对 Markdown 支持不同:

企业微信:

• 支持:标题、粗体、链接、列表

• 不支持:表格、代码块、引用

飞书:

• 支持:富文本(post 类型)

• 需要用特定 JSON 格式

邮箱:

• 支持:HTML

• 建议用 HTML 格式

修改指令:
根据发送渠道,使用不同格式:

• 企业微信:简化 Markdown

• 飞书:富文本 JSON

• 邮箱:HTML

方法 2:检查特殊字符

某些字符需要转义:

• & → &

• < → <

• > → >

• " → "

在指令中添加:
【消息处理】

• 转义特殊字符

• 检查链接是否完整

• 确保换行符正确(\n)

验证:

• ✅ 重新发送

• ✅ 检查消息格式

• ✅ 对比预期格式

---

<## id="section-21">✅ 验证方法</##>

<### id="section-22">验证清单</###>

第 1 步:检查配置

• [ ] 企业微信 Webhook URL 正确

• [ ] 飞书 Webhook URL 正确

• [ ] 邮箱 SMTP 配置正确

• [ ] 已测试发送(手动触发)

第 2 步:检查消息

• [ ] 收到消息(至少一个渠道)

• [ ] 消息格式正确

• [ ] 链接可点击

• [ ] 无乱码或格式错误

第 3 步:检查定时任务

• [ ] 定时任务已配置

• [ ] 执行时间正确(每天 8:00)

• [ ] 时区正确(Asia/Shanghai)

• [ ] 失败重试已设置

第 4 步:第二天验证

• [ ] 第二天 8:00 收到消息

• [ ] 内容是当天的新闻

• [ ] 格式与手动发送一致

<### id="section-23">测试命令(可选)</###>

测试企业微信:

curl -X POST "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=XXX" \
-H "Content-Type: application/json" \
-d '{
"msgtype": "text",
"text": {
"content": "测试消息"
}
}'

预期返回:{"errmsg": "ok", "errmsg_code": 0}


测试飞书:

curl -X POST "https://open.feishu.cn/open-apis/bot/v2/hook/XXX" \
-H "Content-Type: application/json" \
-d '{
"msg_type": "text",
"content": {
"text": "测试消息"
}
}'

预期返回:{"StatusCode": 0, "StatusMessage": "success"}


---

<## id="section-24">📝 作业</##>

<### id="section-25">基础作业</###>

任务: 配置一个通知渠道并测试发送

要求:

• 选择企业微信/飞书/邮箱(三选一)

• 完成配置

• 手动发送一次测试

• 截图发到评论区

提交格式:

【作业提交】
• 配置渠道:企业微信/飞书/邮箱

• 配置时间:2026-04-01 10:00

• 测试结果:✅ 成功

【配置过程】
(简单描述配置步骤)

【遇到的问题】
(如果有,描述问题和解决方法)

【截图】
(配置截图 + 收到的消息截图)

<### id="section-26">进阶作业</###>

任务: 配置两个通知渠道

要求:

• 配置企业微信 + 飞书

• 或企业微信 + 邮箱

• 测试两个渠道都能收到

• 对比消息格式差异

提示:

• 不同渠道消息格式可能不同

• 记录哪个渠道体验更好

<### id="section-27">挑战作业</###>

任务: 配置定时任务并验证

要求:

• 设置每天 8:00 自动发送

• 等到第二天验证

• 记录是否准时收到

• 分享配置经验

提示:

• 配置完成后截图保存

• 设置手机提醒,第二天检查

• 如果没收到,查看 OpenClaw 日志

---

<## id="section-28">❓ 常见问题</##>

<### id="section-29">Q1:三个渠道哪个最好?</###>

A: 各有优劣

企业微信:

• ✅ 适合团队内部

• ✅ 支持 Markdown

• ✅ 可@特定人员

• ❌ 需要企业微信账号

飞书:

• ✅ 富文本格式美观

• ✅ 支持卡片消息

• ✅ 可添加交互按钮

• ❌ 配置稍复杂

邮箱:

• ✅ 最通用

• ✅ 可存档

• ✅ 支持 HTML

• ❌ 可能被当垃圾邮件

推荐:

• 个人使用:邮箱

• 团队使用:企业微信/飞书

---

<### id="section-30">Q2:可以发送给多人吗?</###>

A: 可以

企业微信:

在群里添加机器人,群里所有人都能收到
或配置多个 Webhook,分别发送

飞书:

在群里添加机器人,群里所有人都能收到
或配置多个 Webhook

邮箱:

在收件人字段添加多个邮箱:
收件人:email1@xxx.com,email2@xxx.com,email3@xxx.com

---

<### id="section-31">Q3:消息可以带附件吗?</###>

A: 可以,但有限制

企业微信:

• 支持发送文件(<20MB)

• 需要先用上传接口

• 较复杂,建议发链接

飞书:

• 支持发送文件

• 需要调用上传接口

• 建议发链接

邮箱:

• 支持附件

• 直接在邮件中添加

• 注意大小限制(通常 25MB)

推荐: 发送 JSON 文件的在线链接(如上传到云存储)

---

<### id="section-32">Q4:可以只发送 Top 5 而不是 Top 10 吗?</###>

A: 可以,修改指令

在【消息格式】中修改:
<## id="section-16">🔥 热门新闻(Top 5)

...(共 5 条)

或在指令中添加:
【推送条数】

• 只发送前 5 条

• 或只发送阅读量>10000 的

• 或只发送特定标签的

---

<### id="section-34">Q5:周末不想接收怎么办?</###>

A: 修改定时任务

在【定时任务】中修改:
• 工作日发送(周一到周五 8:00)

• 周末和节假日不发送

或:

• 每天发送,但周末只发 Top 3

---

<## id="section-35">🎯 本篇总结</##>

<### id="section-36">核心技能</###>

学会了:

• ✅ 配置企业微信机器人

• ✅ 配置飞书机器人

• ✅ 配置邮箱 SMTP

• ✅ 格式化消息内容

• ✅ 设置定时任务

• ✅ 诊断发送失败

<### id="section-37">关键指令</###>

你是一个自动化助手,帮我把采集的 CSDN 新闻发送给用户

【输入数据】

• 来源:/Users/openclaw/Desktop/csdn_news_YYYY-MM-DD.json

【发送渠道】
1. 企业微信机器人(Webhook URL)
2. 飞书机器人(Webhook URL)
3. 邮箱 SMTP(配置信息)

【消息格式】

科技日报 - CSDN 热门


<## id="section-5">📅 采集时间
...

【定时任务】

• 每天早上 8:00 自动执行

<### id="section-39">下篇预告</###>

第 3 篇: 《MIT News 自动采集中译 + AI 总结》

你将学会:

• 采集英文网站(MIT News)

• AI 自动翻译标题

• AI 生成内容摘要

• 附上原文链接

场景: 每天早上收到 MIT 科技新闻中文版

---

创建者: 小 B 🔥
创建时间: 2026-04-01 21:35
上一篇: 实战篇第 1 篇 - CSDN 采集
下一篇: 实战篇第 3 篇 - MIT News 翻译

---

<## id="section-40">📢 互动</##>

遇到问题?

• 评论区提问

• 附上错误信息

• 我会帮你诊断

完成作业?

• 评论区交作业

• 分享你的配置

• 帮助其他同学

有更好的方法?

• 欢迎分享

• 一起进步

• 优化指令

---

主人,第 2 篇完成! 🎉

文件位置: `/Users/openclaw/Desktop/workScript/docs/project/bvm2026/07-爬虫实战 2-自动发送.md`

下一步:
1. 复制到 OCnote content/crawler/
2. 更新 crawler.ts 配置
3. 构建部署
4. 继续写第 3 篇

要继续吗? 📝

核心要点

选对模型,事半功倍。选错模型,花钱买气受。适合 = 能力匹配 + 预算允许 + 用得顺手

上一篇
用 OpenClaw 采集 CSDN 热门,打造你的科技日报
下一篇
MIT News 自动采集中译 + AI 总结