公众号对标账号文章总错过?用 WeWe-RSS+ n8n,对标文章定时到你的邮箱(下篇教程)

大家好,我是小肥肠,专注 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协议并获取授权码,步骤如下:

  1. 使用电脑登录QQ邮箱

  2. 进入页面后点击顶部的【设置】,点击【账号】切换标签页,开启POP3 /IMAP/SMTP/Exchange /CardDAV/CalDAV服务, 如果服务已经开启,点击【管理服务】

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

2.2. 工作流构建思路梳理

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

将上述流程图转换为文字,可概述为:

  1. 请求WeWe-RSS数据,因为我的WeWe-RSS部署在本地,故请求地址为:http://localhost:4000/feeds/all.atom

2.http://localhost:4000/feeds/all.atom接口返回数据为XML格式,需要将其转换为JSON格式

  1. 获取JSON数据中的文章主题部分

  2. 将文章主体部分转换为Markdown格式

  3. 将Markdown格式数据转换为HTML格式(方便发送到邮箱)

  4. 将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 实现公众号对标文章定时推送邮箱的完整教程就结束了。大家有什么想看的教程也可以在评论区留言,我觉得可以就会做。

希望我的教程能对你有帮助,本期教程结束,感谢大家的观看,我们下期再见。

相关推荐
小北方城市网几秒前
第 6 课:云原生架构终极落地|K8s 全栈编排与高可用架构设计实战
大数据·人工智能·python·云原生·架构·kubernetes·geo
创作者mateo1 分钟前
机器学习基本概念简介(全)
人工智能·机器学习
飞睿科技3 分钟前
乐鑫ESP32-S3-BOX-3,面向AIoT与边缘智能的新一代开发套件
人工智能·嵌入式硬件·esp32·智能家居·乐鑫科技
Rabbit_QL5 分钟前
【数学基础】机器学习中的抽样:你的数据是样本,不是世界
人工智能·机器学习
金融RPA机器人丨实在智能11 分钟前
深度拆解 RPA 机器人:定义、应用、价值与未来方向
人工智能·rpa·实在rpa
青主创享阁11 分钟前
技术破局农业利润困局:玄晶引擎AI数字化解决方案的架构设计与落地实践
大数据·人工智能
datamonday15 分钟前
[EAI-037] π0.6* 基于RECAP方法与优势调节的自进化VLA机器人模型
人工智能·深度学习·机器人·具身智能·vla
Toky丶20 分钟前
【文献阅读】Pt2-Llm: Post-Training Ternarization For Large Language Models
人工智能·语言模型·自然语言处理
梵得儿SHI20 分钟前
(第七篇)Spring AI 核心技术攻坚:国内模型深度集成与国产化 AI 应用实战指南
java·人工智能·spring·springai框架·国产化it生态·主流大模型的集成方案·麒麟系统部署调优
longze_720 分钟前
生成式UI与未来AI交互变革
人工智能·python·ai·ai编程·cursor·蓝湖