MakiSend 如何在 Cloudflare 上运行

一个 Worker、一个数据库、一个队列和一个持久 Workflow。无需维护任何常驻服务,全部运行在你自己的 Cloudflare 账号上。

跟随一封邮件

选择你的 SMTP 服务商那边会发生什么,然后发送。每一站都是一个 Cloudflare 产品。

  1. 你的应用POST /send-email
  2. WorkerWorkers
  3. 数据库D1
  4. 队列Queues
  5. WorkflowWorkflows
  6. 你的 SMTPTCP sockets
  7. 收件箱已送达
  1. 死信Queues (DLQ)
就绪

按“发送”跟随一封邮件。

背后的 Cloudflare 产品

定时运行的任务

每天 03:17 UTC
测试每个 SMTP 配置并记录结果,然后在 GitHub 上检查是否有新的 MakiSend 版本(除非关闭了 UPDATE_CHECK)。
每小时第 17 分钟
密钥轮换:分小批重新加密仍使用旧 ENCRYPTION_KEY 的存储数据。

依赖它之前需要了解的事

  • 没有固定的出站 IP:要求 IP 白名单的服务商会拒绝来自 Worker 的发送。
  • 发送是异步的:202 表示已入队,而不是已送达。结果见日志和控制台。
  • 每个配置一个 SMTP 服务商,没有自动故障切换。暂不支持退信、打开和点击跟踪。
  • 送达率取决于你的发件域名(SPF、DKIM、DMARC)和你的服务商,而不是 Cloudflare。

完整的设计、数据模型和图表见 README 和 docs/ARCHITECTURE.md。