✨ Kindle 两次吃灰后,我做了一个完全免费的 Kindle 推送 & 标注转换机器人(开源)

契机很简单:

放在写字台的 Kindle 吃灰许久,连泡面的功能都要失效了。心血来潮给它充满电,却发现——图书馆坏了。

一查才知道:

👉 Kindle 中国区服务停止运行

👉 原账号无法继续使用 Send-to-Kindle 推送

重新激活功能的方式网上已经有很多教程了:

核心流程是:

注销中国区账号

注册美国区或其他地区账号

在亚马逊官网重新添加“受信任邮箱”(如 QQ 、163 等)

即可继续使用 Send-to-Kindle 推送

推荐参考这篇总结得非常清楚的文章:

🔗 Kindle 终止中国在线服务:如何换区和继续使用推送服务

📚 推书很方便了,那能不能更方便?

账号换好以后,通过 Send-to-Kindle 邮箱推送书籍又恢复正常了。

但作为一名程序员,我想着:

能不能做到完全在手机上操作?

甚至一键把书推送到 Kindle ?

于是我继续搜,果然在 B 站找到了一个非常好的思路:

🔗 电子书迷们看过来:Kindle 退出中国怎么办?

里面提到可以使用一个 Telegram Bot 来转发书籍。我试了一下——确实非常好用!上传书的同时还能直接推送到 Kindle ,非常爽。

结果……

上传第二本的时候 👇

开始收费了 🥲

作为程序员,我突然血压就上来了:

这不就是一个 “收文件 → 发邮件” 的服务吗?我完全可以自己写一个。

于是我就真的开写,并把它完全免费开源出来了:

🚀 Kindle Mailman:一个完全免费的 Kindle 推送 & 标注 Markdown 转换服务

📦 项目地址(欢迎 star ):

👉 https://github.com/xiaolonggee/kindle_mailman

核心能力如下:

✉️ 1. Telegram → Kindle 推送

后端提供 /api/telegram:

接收 bot 上传的附件( mobi / epub / pdf )

识别指令、参数

自动转发到你的 Kindle 邮箱

无需本地设备,手机就能完成推书

简单一句话:

你发给 bot 一本书,它就会自动推送到你的 Kindle 。

🔄 2. 邮箱轮询:自动收爆款功能——Kindle 标注解析

通过 /api/check-mail + Vercel Cron ,实现自动轮询 Gmail:

登录 Gmail (使用 OAuth Refresh Token )

查找满足条件的邮件:

“未读”

“来自可信发件人 TRUSTED_SENDER_EMAIL”

“有 .html 附件( Kindle Notebook 导出)”

解析 HTML → 自动生成 Markdown

输出文件名:<书名>.md

解析内容包含:

书名 / 作者

划线高亮

用户笔记

页码 / 位置

颜色(黄色/蓝色/粉色…)

📝 3. Markdown 分发:可回 Telegram 、可回 Obsidian

Markdown 生成后有两条分发路径:

✔️ 路径 1:发回 Telegram

使用 sendDocument 发送 .md 文件至 OWNER_CHAT_ID。

提交后可以立即在手机 Telegram 中看到完整的 Markdown 内容。

✔️ 路径 2:可选分发到 Obsidian Inbox (邮箱方式)

将 .md 作为附件发送到:

OBSIDIAN_INBOX_EMAIL

你可以结合:

iCloud

macOS Mail 规则

或 iOS 快捷指令

实现自动落地到 Obsidian Vault 。

🛡️ 4. 去重逻辑:保证不会重复处理邮件

每当处理完一封邮件:

给它加上标签(默认 ProcessedByKindleBot)

同时标记已读

这样即使 Cron 频率很高,也不会重复消费。

📜 5. 日志 & 容错

如果发件人不可信 → 只记录日志

如果没有 HTML 附件 → 跳过

如果解析失败 → 标记并继续处理下一封

系统足够健壮,跑在 Vercel 上成本极低。

🧠 整体架构图(简化版)

(上传书籍) (导出笔记)

Telegram → /api/telegram Gmail → /api/check-mail

| |

↓ ↓

转发到 Kindle 邮箱 HTML → Markdown

↓ ↓

Kindle 收书 分发 Markdown

|

┌──────────────┬───────────────┐

↓ ↓

sendDocument 发到 Obsidian 收件箱

(Telegram) (可选)

📦 环境变量说明(简化版)

KINDLE_EMAIL

TELEGRAM_BOT_TOKEN

OWNER_CHAT_ID

TRUSTED_SENDER_EMAIL

# Gmail OAuth

GMAIL_CLIENT_ID

GMAIL_CLIENT_SECRET

GMAIL_REFRESH_TOKEN

# Obsidian 可选

OBSIDIAN_INBOX_EMAIL

# 去重标签

PROCESSED_LABEL_NAME=ProcessedByKindleBot

🎉 最终效果

你在手机上把 HTML ( Kindle Notebook 导出)发给 bot

机器人自动生成 Markdown

文件直接发回 Telegram

想保存到 Obsidian → 点一下“保存到文件”即可

再也不用付费、复制、转换、格式化

把阅读 → 记录 → 梳理 → 存档 的路径缩短到几秒钟。

🧩 开源地址(欢迎 Star )

👉 https://github.com/xiaolonggee/kindle_mailman

如果有想扩展的功能,例如:

按章节导出多文件

自动生成摘要

给标注加标签

Push 到 Notion / Logseq

解析 Markdown 分层结构

也欢迎佬友们提 pr

❤️ 最后

这个项目的初衷很简单:

让 Kindle 的知识流动得更顺畅。

希望这篇文章能帮到同样在用 Kindle 、在做个人知识管理的朋友们。

如果你也正在找“标注自动化处理”方案,这个项目也许能给你一点灵感,现在在 ios 自动化部分整的不太好,佬友们有好的方案大家多讨论,感谢感谢。