Commit Graph

179 Commits

Author SHA1 Message Date
zxyszx a05c9db83c fix: align profile management UI 2026-08-02 23:19:01 +08:00
zxyszx 8b9250c2a7 fix: align compact bulk actions 2026-08-02 21:02:43 +08:00
zxyszx 969a9cb6c4 fix: rename rule forward targets 2026-08-02 20:49:52 +08:00
zxyszx 9edfee38ad fix: simplify rule forwarding form 2026-08-02 20:46:35 +08:00
zxyszx 72c96765ef feat: add rule forwarding action 2026-08-02 20:32:34 +08:00
zxyszx aa87315e94 fix: align forwarding dialog actions 2026-08-02 19:46:36 +08:00
zxyszx 8f85dc6482 fix: compact forwarding picker dropdown 2026-08-02 19:34:58 +08:00
zxyszx cfa84c39de feat: improve forwarding target picker 2026-08-02 19:10:34 +08:00
zxyszx 25cbd58e1f feat: support multiple forwarding targets 2026-08-02 18:33:25 +08:00
zxyszx 89e46b5748 feat: add login name migration 2026-08-02 16:56:04 +08:00
zxyszx 0d55200485 feat: support username admin login 2026-08-02 16:43:54 +08:00
zxyszx 9b59629993 feat: align NewSzxcn admin experience 2026-08-02 15:07:16 +08:00
zxyszx 7c6b0838b5 fix: brand webmail as NewSzxcn 2026-08-02 13:09:51 +08:00
zxyszx 2fffb27033 fix: align mailbox switcher dropdown width 2026-08-02 12:51:09 +08:00
zxyszx 704b976812 fix: remove unused mail toolbar icons 2026-08-02 12:43:19 +08:00
zxyszx 39f783d3b0 fix: match seek mail list width 2026-08-02 12:34:44 +08:00
zxyszx a46f375816 fix: lock mail list to seek width 2026-08-02 12:10:37 +08:00
zxyszx 4ab38c6c69 fix: keep desktop mail panes at seek width 2026-08-02 12:06:25 +08:00
zxyszx e9806b4a2a fix: tighten unread states and mail width 2026-08-02 11:42:21 +08:00
zxyszx 50d7c091bf fix: align mailbox unread and bulk actions 2026-08-02 11:23:44 +08:00
zxyszx 21be227d7b fix: match seek mail layout responsiveness 2026-08-02 10:44:29 +08:00
zxyszx 68bcce8091 fix: tighten mail layout responsiveness 2026-08-02 10:03:34 +08:00
zxyszx 83ca0dd7d7 fix: keep forwarding verification links idempotent 2026-08-02 09:36:30 +08:00
zxyszx 9f330fdf57 feat: require verification for forwarding targets 2026-08-02 09:08:20 +08:00
zxyszx 7f05a70f60 feat: add personal mailbox forwarding 2026-08-02 07:37:07 +08:00
zxyszx 5141917d93 feat: customize NodeSeek-style webmail 2026-08-02 05:55:53 +08:00
LanQin_ 47f782a03c feat(api): 升级开放 API 并支持投递回调
- 为 `/api/open/v1` 引入 Token scope、分页游标、幂等发信、发送事件与重试/取消能力。
- 新增投递事件签名回调与状态 webhook outbox,补充相关配置、迁移和测试。
- 同步更新 Web 端 API 类型、个人中心 Token 权限管理,以及中英文文档和 OpenAPI 契约。
2026-07-10 10:47:58 +08:00
LanQin_ 3afbdc4d4a feat(open_api): 统一开放接口命名并记录来源
- 将公共 API 相关处理器、路由与测试重命名为 Open API,统一接口语义。
- 新增发送来源 open_api,并在发送审计与队列中保存该来源。
- 前端发送队列来源标签新增 Open API 显示。
2026-06-29 16:52:07 +08:00
LanQin_ cb07d5d501 fix(api): 修复 API Token 过期校验与更新校验
- 将数据库中的 expires_at 设为必填,并在认证时仅允许未过期的令牌通过
- 增加空过期时间的更新校验,避免写入非法时间值
- 补充过期令牌与空过期时间更新的测试覆盖
- 调整前端日期输入与提交逻辑,避免创建 API Token 时表单异常中断
2026-06-29 16:09:40 +08:00
LanQin_ f87ce5fa4f feat(api): 新增开放 API 与 Token 管理
- 新增 API Token 的创建、查询、更新和撤销接口,并支持 Bearer 认证
- 新增 `/api/open` 域名、邮箱、发信与消息查询接口,补充权限校验
- 更新数据库迁移、路由与测试,并新增开放 API 文档
2026-06-29 15:52:42 +08:00
LanQin ecc3e8a246 feat(mail): 支持邮件正文 HTML 翻译并切换显示译文
- 后端翻译接口新增返回 translatedHtml,优先翻译邮件 HTML 文本节点并跳过脚本、样式等标签。
- 前端合并翻译结果展示,支持在原文与译文之间切换,并直接渲染翻译后的邮件 HTML。
2026-06-27 15:35:41 +08:00
LanQin ed68abb00d feat(mail): 支持外部 IMAP 邮件翻译
Docker Release / Check web and api (push) Waiting to run
Docker Release / Resolve release tag (push) Blocked by required conditions
Docker Release / Build and publish all-in-one (push) Blocked by required conditions
Docker Release / Build and publish api (push) Blocked by required conditions
Docker Release / Build and publish web (push) Blocked by required conditions
Docker Release / Build and publish dovecot (push) Blocked by required conditions
Docker Release / Build and publish postfix (push) Blocked by required conditions
Docker Release / Build and publish rspamd (push) Blocked by required conditions
Docker Release / Create GitHub release (push) Blocked by required conditions
- 新增外部账号邮件翻译接口与路由。
- 前端翻译请求优先走外部账号邮件翻译接口。
2026-06-27 13:30:31 +08:00
LanQin b8d4553036 feat(mail): 增加邮件翻译功能
- 新增邮件翻译接口与响应类型,支持按目标语言翻译当前邮件内容。
- 配置化控制翻译开关与最大字符数,避免超长内容影响请求。
- 在邮件详情页增加翻译提示与译文切换,支持简体中文、繁體中文和英文。
- 补充翻译响应解析与截断逻辑的单元测试。
2026-06-27 13:22:45 +08:00
LanQin ef7af15010 i18n(web): 新增界面语言切换与自动翻译支持
- 新增语言状态管理、存储同步与 DOM 自动翻译能力,支持简体中文、繁體中文和英文。
- 在邮件页加入语言切换入口,并接入全局语言同步。
- 补充大量邮件界面文案翻译映射,提升多语言可用性。
2026-06-27 01:36:15 +08:00
LanQin bce259ca8a feat(mail): 优化外部邮箱侧边栏交互
Docker Release / Check web and api (push) Waiting to run
Docker Release / Resolve release tag (push) Blocked by required conditions
Docker Release / Build and publish all-in-one (push) Blocked by required conditions
Docker Release / Build and publish api (push) Blocked by required conditions
Docker Release / Build and publish web (push) Blocked by required conditions
Docker Release / Build and publish dovecot (push) Blocked by required conditions
Docker Release / Build and publish postfix (push) Blocked by required conditions
Docker Release / Build and publish rspamd (push) Blocked by required conditions
Docker Release / Create GitHub release (push) Blocked by required conditions
- 支持外部邮箱账号展开/收起,并在切换时自动保持当前账号展开。
- 增加外部邮箱显示主标题与副标题,提升账号信息可读性。
- 在外部 IMAP 关闭或账号列表变化时,清理已展开状态。
2026-06-25 22:50:32 +08:00
LanQin 707f11687d feat(external-imap): 新增外部 IMAP 全局开关与后台配置
- 支持在系统设置中启用/禁用外部 IMAP,并持久化相关密钥与 OAuth 配置。
- 在公共设置和前端页面中联动开关状态,未启用时隐藏外部 IMAP 相关功能并拦截后端接口。
- 补充外部 IMAP 默认关闭、配置说明与回调地址文档。
2026-06-25 22:44:32 +08:00
LanQin cc75382869 fix(external_imap): 修复 IMAP 文件夹列表兼容性
- 在测试外部 IMAP 账号时,将文件夹列表失败提示改为更准确的错误信息。
- 为 OAuth XOAUTH2 认证和文件夹列表补充更明确的错误包装,便于定位问题。
- 对不支持 `LIST RETURN (STATUS ...)` 的 Outlook/Exchange 服务降级为普通 `LIST`,再单独查询文件夹状态。
2026-06-25 22:25:30 +08:00
LanQin efcdc691de refactor(app): 优化后台任务退出与外部 IMAP 认证
- 统一用 `WaitGroup` 管理后台 worker,关闭时等待任务结束后再释放数据库连接。
- 将外部 IMAP 的 OAuth 认证切换为 `XOAUTH2` 客户端实现,并补充对应格式测试。
- 调整发送队列的故障恢复逻辑,超时中断后恢复为排队状态以便重新投递。
2026-06-25 21:36:59 +08:00
LanQin 081cfad02d feat(external_imap): 强化 OAuth 外部邮箱授权校验并完善 Outlook 文案
- OAuth 授权改为以服务商返回的真实邮箱为准,补充 ID Token 解析与邮箱一致性校验,避免默认落到本地邮箱。
- 为 Gmail 和 Microsoft 365 / Outlook OAuth 增加必要的 OIDC scope,并补充相关测试覆盖。
- Web 端新增 OAuth 授权弹窗,支持填写外部邮箱与存储模式;同步更新账号展示信息。
- 同步修正 README 与部署说明中的 Outlook 表述。
2026-06-25 21:17:04 +08:00
LanQin_ 39f5249008 feat(mail): 增强外部 IMAP 接入能力。
- 新增 Gmail/Outlook OAuth2 授权接入、附件分片下载、服务端搜索与单文件夹同步历史。
- 扩展外部 IMAP 账户与同步任务数据结构,补充相关路由、配置和前端管理界面。
- 更新部署示例与文档,说明 OAuth 回调地址及后续邮件系统规划。
2026-06-25 20:20:37 +08:00
LanQin_ 11734bf119 feat(mail): 支持外部 IMAP 账号接入。
- 新增外部 IMAP 账号的加密存储、同步任务与远端直连能力。
- Web 端个人邮箱页和邮件列表页支持查看、测试、同步和切换外部邮箱。
- 补充相关配置项、环境变量说明和使用文档。
2026-06-25 17:09:46 +08:00
LanQin_ 2558aa96ed refactor(mail): 统一右键菜单按钮样式
- 将邮件页右键菜单中的原生 `button` 替换为 `Button` 组件。
- 抽取通用按钮样式,统一打开、刷新、移动、标签等菜单项表现。
- 保持删除等危险操作的视觉强调一致。
2026-06-25 16:17:56 +08:00
LanQin_ 98e7190512 feat(mail): 增强发送队列筛选与投递追踪能力
- 发送队列支持按 Message-ID、收件人和时间范围筛选,并改为稳定游标分页。
- 邮件详情补充关联的发送队列信息,支持从邮件直接查看投递时间线。
- 前端同步接入新筛选条件,并在发送队列页提供清除筛选入口。
2026-06-25 16:13:44 +08:00
LanQin_ 4ab7815886 feat(mail): 支持删除自定义文件夹并回收邮件
- 后端新增文件夹删除接口,禁止删除系统文件夹,并将文件夹内邮件自动移回收件箱。
- 前端补充删除文件夹的 API 调用、侧边栏菜单入口和确认弹窗。
- 增加测试覆盖删除自定义文件夹后的邮件回收与系统文件夹保护。
2026-06-25 15:56:57 +08:00
LanQin_ 361daf8693 feat(mail): 为侧边栏添加右键菜单操作
- 支持对侧边栏条目打开、刷新和新建文件夹。
- 为自定义文件夹增加置顶、上移、下移、置底操作。
2026-06-25 15:50:39 +08:00
LanQin_ d2a762a426 feat(mail): 支持自定义邮件文件夹排序
- 后端为 `folders` 增加 `sort_order`,并提供文件夹重排接口。
- 前端邮件侧边栏支持自定义文件夹拖拽排序与乐观更新。
- 补充文件夹排序相关测试,并同步更新 API 类型定义。
2026-06-25 15:42:36 +08:00
LanQin_ 7799d5d5b2 feat(mail): 支持创建自定义文件夹与邮件右键操作
- 新增文件夹创建接口与服务端校验,支持创建自定义文件夹并在列表中使用。
- 为邮件列表补充右键菜单,支持打开、回复、转发、标记、归档、移动、打标签和删除。
- 规则编辑中的“移动到”动作支持自定义文件夹名称输入。
- 补充相关测试,覆盖文件夹创建与邮件移动流程。
2026-06-25 14:11:38 +08:00
LanQin_ 07054ca342 refactor(mail): 精简邮件通知与元信息展示
- 点击新邮件提示可直接打开首封新邮件,并兼容键盘回车与空格操作。
- 移除邮件详情中的认证结果展示及相关类型定义,简化消息元信息结构。
2026-06-25 11:42:11 +08:00
LanQin_ 84657f91f9 fix(toast): 修复 Toast 点击交互
- 为可点击的 Toast 添加指针样式,提升交互反馈。
- 阻止关闭按钮点击事件冒泡,避免触发外层点击逻辑。
2026-06-25 11:30:37 +08:00
LanQin a5f5adf752 chore: 合并 Maildir 修复与 README 更新 2026-06-24 19:55:43 +08:00