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

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

相关推荐
那个村的李富贵12 小时前
光影魔术师:CANN加速实时图像风格迁移,让每张照片秒变大师画作
人工智能·aigc·cann
腾讯云开发者14 小时前
“痛点”到“通点”!一份让 AI 真正落地产生真金白银的实战指南
人工智能
CareyWYR14 小时前
每周AI论文速递(260202-260206)
人工智能
hopsky15 小时前
大模型生成PPT的技术原理
人工智能
禁默15 小时前
打通 AI 与信号处理的“任督二脉”:Ascend SIP Boost 加速库深度实战
人工智能·信号处理·cann
心疼你的一切16 小时前
昇腾CANN实战落地:从智慧城市到AIGC,解锁五大行业AI应用的算力密码
数据仓库·人工智能·深度学习·aigc·智慧城市·cann
AI绘画哇哒哒16 小时前
【干货收藏】深度解析AI Agent框架:设计原理+主流选型+项目实操,一站式学习指南
人工智能·学习·ai·程序员·大模型·产品经理·转行
数据分析能量站16 小时前
Clawdbot(现名Moltbot)-现状分析
人工智能
那个村的李富贵16 小时前
CANN加速下的AIGC“即时翻译”:AI语音克隆与实时变声实战
人工智能·算法·aigc·cann
二十雨辰16 小时前
[python]-AI大模型
开发语言·人工智能·python