Skip to content

OmniMail v0.4.0

Choose a tag to compare

@github-actions github-actions released this 23 Aug 01:47
· 53 commits to main since this release
ddc6a87

更新摘要

  • 新增独立的 Linux DO Mail 工作区,可连接个人 @linux.do 邮箱并按需读取、搜索和发送邮件。
  • Linux DO Mail 复用 OmniMail 现有的发件队列、幂等控制、失败状态、审计日志和用户限速。
  • 管理员可分别控制 iCloud 与 Linux DO Mail 工作区入口是否对用户显示。

新增

  • 每个 OmniMail 用户可连接一个 Linux DO Mail 账号,支持验证、更新和删除凭据。
  • 通过 mail.linux.do:993 读取 INBOX 最近邮件、完整正文,并执行服务器端邮件搜索。
  • 通过 mail.linux.do:465 向单个收件人发送纯文本或 HTML 邮件,发件地址固定为已验证账号。
  • 新增独立的 Linux DO Mail 已发送视图和发件搜索,展示队列投递状态与失败原因。
  • 新增系统设置开关,可独立隐藏 iCloud 或 Linux DO Mail 工作区入口。

改进

  • 提取 iCloud 与 Linux DO Mail 共用的最小 IMAP 连接层,统一 TLS、超时、断连和协议错误处理。
  • 将 HTTP 发信服务与 Linux DO SMTP provider 接入同一套出站消息流程和限速策略。
  • API 文档新增 Linux DO Mail 账号、收件、搜索、发信及工作区设置端点。

安全

  • Linux DO Mail 密码或认证令牌使用 AES-GCM 加密后保存,密文绑定当前用户、账号和字段。
  • 固定连接官方 mail.linux.do 主机与 993/465 端口,不允许用户指定任意 TCP 目标。
  • API 不返回原始凭据;SMTP 发件人固定为已验证账号,并拒绝命令与邮件头换行注入。
  • Linux DO Mail 发信继续受 OmniMail 用户限速和每日硬上限保护。

升级说明

  • 部署会自动应用 0023_linux_do_mail_accounts.sql0024_linux_do_mail_outbound.sql
  • 使用 Linux DO Mail 前,必须配置至少 32 字节的 LINUX_DO_MAIL_CREDENTIALS_KEY Secret;
    不使用该功能时可以留空,也可由管理员隐藏对应工作区入口。
  • 本版本不支持 Linux DO Mail 附件、服务器 Sent 文件夹追加、后台同步或 Android/Float 客户端。

测试

  • 通过 96 个测试文件、433 项单元测试,以及 3 个 Worker 集成文件、10 项绑定测试。
  • 通过 62 项 Playwright 浏览器回归,覆盖账号连接、凭据更新、收件读取、搜索、发信、
    已发送视图、工作区开关和响应式导航。
  • 通过 TypeScript、D1 迁移幂等、Web 生产构建、发布元数据检查和 Wrangler dry-run。
  • 已在生产 Worker 环境完成真实 Linux DO Mail 账号的连接、收件读取与发信链路验证。

发布

  • Web 版本为 0.4.0;通过 GitHub Tag v0.4.0 发布,无额外 Web 下载文件。
  • 本次 Web Release 不包含 OmniMail Float 扩展包或 Android 安装包。