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
|
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
|
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
|
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 |
|
LanQin_
|
2a572bf13a
|
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
- 新增邮件认证结果解析、存储与前端展示,支持查看 SPF、DKIM、DMARC 及原始头信息。
- 扩展邮件规则条件,支持抄送、附件、大小、日期及嵌套条件组合。
- 增加邮箱容量统计与发送前配额校验,超限时返回明确错误。
- 新增管理端发送审计页面与接口,支持按邮箱、事件、Message-ID 和时间筛选。
|
2026-06-24 17:16:01 +08:00 |
|
LanQin_
|
2b846ac671
|
feat(mail): 增加发送队列管理
- 新增发送队列与投递时间线接口,支持查看、筛选、重试和取消发送任务。
- 扩展邮箱页面,加入发送队列入口、状态筛选和时间线弹窗。
- 更新发送队列状态流转,支持 `canceled` 并补充相关测试与前端类型定义。
|
2026-06-24 16:39:40 +08:00 |
|
LanQin_
|
b3669f189e
|
feat(imap): 补充邮件 IMAP 元数据支持
- 为文件夹和消息增加 `UID/ModSeq` 字段,并在迁移时回填与建索引。
- 让收发、移动、标记、删除、草稿等流程同步维护 `imap_uid` 和 `imap_modseq`。
- 扩展后端与前端类型,并补充相关测试覆盖。
|
2026-06-24 16:23:45 +08:00 |
|
LanQin_
|
d28ed4adcc
|
feat(admin): 增加 Maildir 同步健康状态
- 新增后端健康检查接口与同步追踪,记录运行状态、最近结果、错误摘要和统计信息。
- 前端管理页在存储设置中展示 Maildir 同步健康卡片,并支持手动刷新。
- 补充相关类型定义与测试,覆盖未配置和同步成功两类场景。
|
2026-06-24 16:08:48 +08:00 |
|
LanQin_
|
adcc822c9a
|
fix(mail): 优化邮件 HTML 与样式保留
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
- 支持整页邮件文档的清洗与渲染,保留 `<html>`、`<head>`、`<body>` 和 `<style>` 等结构。
- 提取并校验安全的邮件样式块,阻止包含外链、脚本式内容的 CSS。
- 补充 `dompurify` 类型声明以支持 `WHOLE_DOCUMENT` 配置。
|
2026-06-24 14:19:31 +08:00 |
|
LanQin_
|
18db36d937
|
feat(mail): 优化邮件正文渲染与样式保留
- 邮件正文改为在 `iframe` 中渲染,提升排版隔离和显示稳定性。
- 扩展前端清洗配置,保留邮件常见布局样式与表格属性。
- 收紧后端 HTML 策略的样式白名单,兼顾邮件样式保留与安全过滤。
- 补充测试,验证邮件布局样式可保留且危险内容仍会被拦截。
|
2026-06-24 13:55:09 +08:00 |
|
LanQin_
|
b309368225
|
feat(admin): 增加版本更新检查
- 在关于页检查 GitHub 最新发布版本。
- 发现新版本时提示并提供跳转查看链接。
|
2026-06-23 14:07:20 +08:00 |
|
LanQin_
|
23b04bd343
|
feat(mail): 增强邮件限流与配额配置
- 新增 IMAP/POP3 事件表与清理任务,并接入 Dovecot auth policy。
- 暴露默认权限限额接口,前端权限组页面改为动态读取。
- 为 Dovecot 配置用户配额、连接数限制和 auth policy。
|
2026-06-23 11:25:38 +08:00 |
|
LanQin_
|
36b4c4c60f
|
feat(权限组): 增加账号配额与邮件发送限制
- 为权限组与用户新增配额字段,支持附件大小、SMTP/IMAP/POP3 频率限制。
- 后端补充权限组配额校验、迁移与 SMTP 发送限流,邮件发送/定时发送时统一生效。
- 前端在管理页、邮件撰写页和个人资料页展示并编辑配额信息。
|
2026-06-23 11:09:36 +08:00 |
|
killerprojecte
|
2d7625a751
|
Merge branch 'main' of https://github.com/killerprojecte/LanQin-Email
|
2026-06-22 21:08:33 +08:00 |
|
killerprojecte
|
3eebc1c358
|
fix: delete label without mailboxId caused 404 error on non-default mailbox
|
2026-06-22 21:08:11 +08:00 |
|