大家好,我是小肥肠,专注 AI 干货知识分享!今天给带来的是n8n实战教程,基于n8n获取公众号对标账号文章,每天定时发送到QQ邮箱~
1. 前言
在上一篇文章公众号对标账号文章总错过?用 WeWe-RSS+ n8n,对标文章定时到你的邮箱(上篇教程),我教大家安装了wewe-rss(公众号内容聚合工具),本篇内容将用n8n结合wewe-rss实现将公众号对标文章每天定时推送到你的QQ邮箱,让你不再错过精彩内容。

这个 工作流 属于初级工作流,搭建比较简单,小白也能轻松复刻,话不多说,教程正式开始~
2. 前置准备及工作流思路梳理
2.1. 开通SMTP服务
在搭建工作流之前,请先确保你已经安装了n8n和wewe-rss,安装指引。
n8n: 【n8n 入门系列】10 分钟部署 n8n,手把手教你搭第一个自动化工作流,小白可学!
WeWe-RSS: 公众号对标账号文章总错过?用 WeWe-RSS+ n8n,对标文章定时到你的邮箱(上篇教程)
因为本篇文章涉及到邮件发送,故需要开启SMTP协议并获取授权码,步骤如下:
-
使用电脑登录QQ邮箱
-
进入页面后点击顶部的【设置】,点击【账号】切换标签页,开启POP3 /IMAP/SMTP/Exchange /CardDAV/CalDAV服务, 如果服务已经开启,点击【管理服务】

进入账号与安全 页面后,找到POP3 /IMAP/SMTP/Exchange/CardDAV 服务(已开启) ,点击【生成授权码】,按照指示操作获取16位授权码。

2.2. 工作流构建思路梳理
这个工作流的构建思路我整理为了流程图:

将上述流程图转换为文字,可概述为:
- 请求WeWe-RSS数据,因为我的WeWe-RSS部署在本地,故请求地址为:http://localhost:4000/feeds/all.atom
2.http://localhost:4000/feeds/all.atom接口返回数据为XML格式,需要将其转换为JSON格式
-
获取JSON数据中的文章主题部分
-
将文章主体部分转换为Markdown格式
-
将Markdown格式数据转换为HTML格式(方便发送到邮箱)
-
将HTML内容发送至QQ邮箱
3. 工作流搭建
工作流的完整流程如下图所示:

节点1(手动触发,如要投入生产需改为定时触发):
回到n8n界面,点击【Create Workflow】新建工作流,来到工作流界面编辑界面后新建第一个节点,选择手动触发节点(Trigger manually)。

节点2(请求WeWe-RSS数据):
点击【+】按钮添加第2个节点Http Request, 属性设置如下,在URL中填入host.docker.internal:4000/feeds/all.a... step】查看一下节点执行情况,可以看到结果为XML格式数据。

节点3(将XML转换为 JSON 数据):
点击【+】按钮添加第3个节点XML,Mode选择XML toJSON,Property Name保持默认data。点击【Excute step】查看一下节点执行情况,可以看到这个节点将前一个节点输出的XML数据转换为了JSON格式。

节点4(获取文章主体):
点击【+】按钮添加第4个节点Edit Fields ,这个节点的作用主要是取出我们想要的数据部分,在这里我只需要entry部分的数据,故将enty拖动到Edit Fields属性面板。

点击【Excute step】查看节点执行情况,可以看到经过这个节点的处理,目前输出数据只展示了entry部分。

节点5(将文章主体内容转换为 Markdown 格式):
点击【+】按钮添加第5个节点Code, 在代码部分输入将JSON格式转换为Markdown的功能代码,点击【Excute step】查看节点执行情况,可以看到数据格式由JSON转换为了Markdown格式。

源代码为:
ini
const articles = $json.feed.entry;
let markdownOutput = "# 每日公众号精选\n\n";
for (const article of articles) {
// --- 这是修正过的部分 ---
// 从 title 对象中获取 _ 属性的值
const title = article.title?._ || '无标题';
const link = article.link?.href || '';
const author = article.author?.name || '未知作者';
const updated = new Date(article.updated).toLocaleString('zh-CN', { timeZone: 'Asia/Shanghai' });
markdownOutput += `## [${title}](${link})\n`;
markdownOutput += `**作者:** ${author}\n`;
markdownOutput += `**发布于:** ${updated}\n\n`;
markdownOutput += "---\n\n";
}
return {
json: {
markdownContent: markdownOutput
}
};
节点6(将 Markdown 格式转换为 HTML ):
点击【+】按钮添加第6个节点Markdown , Mode选择Markdown to HTML ,Markdown选择前一个节点的markdownContent属性,还是点击属性拖动到面板。

点击【Excute step】查看节点执行情况,可以看到经过这个节点的处理,数据由markdown格式转换为了html格式。

节点7(获取文章 HTML ):
点击【+】按钮添加第7个节点Edit Fields,这个节点的作用主要是取出我们想要的数据部分(前一个节点输出的data部分)。

节点8(发送邮件到QQ邮箱):
点击【+】按钮添加第8个节点Send Email, 在Credential to connect with设置处点击【Create new credential】,User处填入你的QQ邮箱,Password填写2.1小节获取的授权码,host填入smtp.qq.com,port填入465,如顶部显示Connection tested successfully 则代表参数正确。

回到主属性面板继续填写其他属性,Subject为邮件主题,From Email填写发送方邮箱,To Email为接收方邮箱,Email Format选择HTML。

工作流搭建完成后回到工作流界面,点击【Excute Workflow】运行工作流,由下图可知工作流运行成功。

回到我们自己的QQ邮箱界面,可以看到邮件已经被发送到了我们的邮箱中。

以上就是基于n8n将订阅文章消息发送到QQ邮箱的完整工作流,但是实际使用中还需要做一些改动,如将工作流转换为定时触发,以及部署到我们的服务器中实现每天运行给我们推送邮件,这些内容会放到以后的中高级课程。
这个 工作流 已经放到了我的资料库中,如果想直接获取工作流,可以加入社群后我分享给你直接学习使用。
4. 结语
到这里,基于 n8n+WeWe-RSS 实现公众号对标文章定时推送邮箱的完整教程就结束了。大家有什么想看的教程也可以在评论区留言,我觉得可以就会做。
希望我的教程能对你有帮助,本期教程结束,感谢大家的观看,我们下期再见。
