LetterFeed:将邮件通讯(Newsletter)转为RSS订阅
简介
什么是 Newsletter ?
Newsletter(新闻简报或邮件通讯)是一种定期发布的电子邮件形式的出版物,通常由组织、企业、个人或社区发送给其订阅者。内容包括最新消息、更新、活动通知、专题文章、产品促销或其他相关信息,针对特定主题或兴趣群体而设计。

Newsletter 是一种一对多的内容传递方式,主要作为企业、博主和独立作者的邮件营销工具,用于向订阅用户推送产品、折扣和品牌信息,目的在于促进销售。
什么是 LetterFeed ?
LetterFeed是一款自托管的应用程序,可将电子邮件新闻通讯转换为RSS源。它定期通过IMAP扫描用户的电子邮件收件箱,查找已配置发件人的新邮件,并将其处理后添加为相应新闻通讯的RSS源条目。
主要特点
- 自托管:用户可以在自己的服务器上运行,确保数据的隐私和安全。
- IMAP 支持:通过
IMAP连接到电子邮件账户,支持SSL加密。 - 电子邮件转 RSS: 定期检查新邮件,将来自您指定发件人的电子邮件转换为
RSS订阅源。 - 灵活配置:通过环境变量配置
IMAP设置、电子邮件处理选项等。 - Docker 支持:使用
Docker和Docker Compose简化安装和部署过程。
应用场景
- 电子邮件新闻通讯管理:用户可以轻松管理和阅读来自不同来源的新闻通讯,集中在一个
RSS阅读器中。 - 统一阅读体验:在用户喜欢的
RSS阅读器中阅读所有订阅的新闻、博客文章和新闻通讯,也便于数据分析和处理。 - 自动化工作流:适合需要定期获取和处理电子邮件内容的自动化场景,例如将新闻报道转化为更新通知。
- 个人和团队使用:无论是个人用户还是团队,都可以通过
LetterFeed有效管理信息流。 - 存档和搜索: 利用
RSS阅读器强大的存档和搜索功能来管理和查找过去的新闻通讯内容。

LetterFeed 提供一种将电子邮件新闻通讯整合到其现有阅读工作流中的方法。许多有价值的信息和深度内容通过电子邮件新闻通讯的形式分发,但对于习惯使用 RSS 的用户来说,在电子邮件客户端和 RSS 阅读器之间切换可能会降低效率,而 LetterFeed 提升了用户的阅读体验和信息获取效率。
安装
在群晖上以 Docker 方式安装。涉及前、后端两个容器,采用 docker-compose 安装
本文写作时,
latest版本对应为v0.4.0;
env.txt
与 IMAP、电子邮件处理和用户名/密码相关的设置可以通过环境变量或 UI 进行设置。
1 | # The base URL of the application, e.g., http://localhost:3000 or https://letterfeed.example.com |
| 环境变量 | 描述 |
|---|---|
LETTERFEED_APP_BASE_URL |
应用的基本 URL,例如 http://localhost:3000 或 https://letterfeed.example.com |
LETTERFEED_BACKEND_URL |
后端服务的 URL,例如 http://backend:8000 |
LETTERFEED_DATABASE_URL |
数据库的 URL。若更改卷挂载点,请相应更改此值,例如 sqlite:////data/letterfeed.db |
LETTERFEED_IMAP_SERVER |
IMAP 服务器地址,必须支持 SSL 的 993 端口 |
LETTERFEED_IMAP_USERNAME |
IMAP 登录的用户名 |
LETTERFEED_IMAP_PASSWORD |
IMAP 登录的密码 |
LETTERFEED_SEARCH_FOLDER |
用于搜索新邮件的文件夹,默认为 INBOX |
LETTERFEED_MOVE_TO_FOLDER |
处理完的邮件移动到的文件夹 |
LETTERFEED_MARK_AS_READ |
是否将处理过的邮件标记为已读,默认值为 true |
LETTERFEED_EMAIL_CHECK_INTERVAL |
检查新邮件的间隔时间,单位为分钟,默认值为 15 |
LETTERFEED_AUTO_ADD_NEW_SENDERS |
是否自动为未知发件人设置新邮件,默认值为 false |
LETTERFEED_SECRET_KEY |
用于身份验证的密钥,可以使用命令 openssl rand -hex 32 生成 |
LETTERFEED_AUTH_USERNAME |
身份验证的用户名 |
LETTERFEED_AUTH_PASSWORD |
身份验证的密码 |
其中 :
192.168.0.197为老苏的群晖主机的IP,你需要按自己的IP进行修改;- 一个支持在
993端口上运行IMAP over SSL安全连接的邮箱;

docker-compose.yml
将下面的内容保存为 docker-compose.yml 文件
1 | services: |
然后执行下面的命令
1 | # 新建文件夹 letterfeed 和 子目录 |

运行
在浏览器中输入 http://群晖IP:3730 就能看到登录界面
用环境变量中
LETTERFEED_AUTH_USERNAME和LETTERFEED_AUTH_PASSWORD设置的值laosu/123456登录

登录成功的主界面

测试邮件设置是否正确,Settings –> Test Connection

因为 88 邮箱是老苏专用的测试邮箱,所以没有任何的新闻订阅,只能写封测试邮件了

发送完成后,在 88 邮箱中刷新一下,确实已经收到了,不要点开

回到 LetterFeed,点 Add Newsletter 或者 Add Your First Newsletter
Newsletter Name:名称Custom URL:会出现在订阅地址中Move To Folder:邮件处理逻辑,可以将其移动到其他文件夹Email Addresses:需要跟踪转换的发件人邮箱

添加完成之后

等一会儿,或者直接 Process Now ,会看到有 1 条了

以 FreshRSS 为例添加订阅源
源地址:为http://群晖IP:3730/api/feeds/outlook订阅源类型:为默认的RSS/Atom

设置没问题的话,很快就会看到

点开看看,就是我们发的内容

参考文档
LeonMusCoden/LetterFeed: Convert email newsletters into RSS feeds
地址:https://github.com/LeonMusCoden/LetterFeed