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 |
|
AnserJim
|
0b4b4441c0
|
chore: use activeMailboxId instead of selectedMailboxId
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
|
2026-06-22 20:23:20 +08:00 |
|
killerprojecte
|
c8dff253cc
|
chore: optimize code
|
2026-06-22 20:20:44 +08:00 |
|
killerprojecte
|
94ab94eceb
|
chore: improve label error handling
|
2026-06-22 20:04:10 +08:00 |
|
killerprojecte
|
74f456ef7d
|
chore: improve tag delete
|
2026-06-22 20:04:10 +08:00 |
|
killerprojecte
|
7720b6b404
|
feat: better tag system & fix layout problem when width under 640px
|
2026-06-22 20:04:09 +08:00 |
|
LanQin_
|
0b982a5ff4
|
feat(mail): 重构邮箱权限体系并细化前台能力控制
- 新增邮箱前台权限与默认普通用户权限迁移,拆分读信、发信、草稿、定时、整理、标签、附件、联系人等能力。
- 收紧后端路由与处理逻辑,按权限限制邮箱前台、个人中心和定时发送相关接口。
- 前端根据权限动态隐藏或禁用邮件、个人中心中的对应功能入口与操作。
- 补充权限迁移与访问控制测试,覆盖普通用户邮箱前台、发信和定时发送的权限校验。
|
2026-06-22 15:54:15 +08:00 |
|
LanQin_
|
acdf298811
|
fix(permission): 调整默认权限组与用户权限继承
- 将“普通用户”权限组纳入默认权限继承,创建和更新用户时自动合并其权限。
- 放宽“普通用户”系统组的可编辑性,但仍禁止删除;继续限制超级管理员组被修改。
- 更新管理端权限组操作状态,避免对不可删除或不可编辑项提供错误入口。
- 补充相关测试,覆盖默认权限组编辑、删除与用户权限继承场景。
|
2026-06-22 14:42:37 +08:00 |
|
LanQin_
|
31435c1e97
|
feat(admin): 引入细粒度权限组管理
- 新增权限目录、系统权限组与用户权限组分配,后台路由改为按权限粒度控制。
- 支持创建、编辑、查看和删除自定义权限组,并为用户绑定权限组。
- 前端后台界面按权限动态展示菜单与操作项,补充用户/权限组相关类型与交互。
|
2026-06-22 14:31:10 +08:00 |
|
LanQin
|
e7e4f43691
|
ci(.github/workflows): 拆分 CI 与发布流程。
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
- 新增独立的 CI 工作流,覆盖前端检查、构建和后端测试。
- 调整 Docker 工作流为仅负责标签发布与镜像构建。
- 同步优化管理页 Issues 图标颜色。
|
2026-06-21 02:30:01 +08:00 |
|
LanQin
|
c872ed559d
|
feat(admin): 增加关于页与发布版本信息
- 在系统设置中新增“关于”标签页,提供版本、仓库、Issues、文档和开源协议入口。
- 通过 Docker 构建参数注入版本号与发布链接,并在前端展示当前发布版本。
- 调整 GitHub Actions 与镜像构建流程,仅在 tag 发布时构建并发布带版本标识的镜像。
|
2026-06-21 02:23:40 +08:00 |
|
LanQin
|
99fe3cc57c
|
feat(mail): 重构邮件详情元信息展示
CI and Docker / Check web and api (push) Waiting to run
CI and Docker / Build and publish all-in-one (push) Blocked by required conditions
CI and Docker / Build and publish api (push) Blocked by required conditions
CI and Docker / Build and publish web (push) Blocked by required conditions
CI and Docker / Build and publish dovecot (push) Blocked by required conditions
CI and Docker / Build and publish postfix (push) Blocked by required conditions
CI and Docker / Build and publish rspamd (push) Blocked by required conditions
- 抽离 `MessageMetaPanel` 统一展示发件人、收件人、抄送、密送和时间信息。
- 补充地址解析与列表渲染,提升详情页信息完整度和可读性。
|
2026-06-21 01:51:05 +08:00 |
|
LanQin
|
936d3c4819
|
style(web): 统一移动端视口与编辑器样式
- 将邮件、个人中心与规则弹窗从 `100dvh` 调整为 `h-svh`,减少移动端视口抖动。
- 优化邮件正文编辑器的基础布局与滚动样式,提升输入区可用性。
- 移除 `protected-layout` 中切换路由时自动关闭移动侧栏的逻辑。
|
2026-06-21 00:02:30 +08:00 |
|
LanQin
|
a8513120e5
|
refactor(web): 优化侧边栏与邮件展示交互
- 关闭移动端侧边栏在路由切换后的残留打开状态。
- 补充 `SheetContent` 的可访问性描述配置,避免无效告警。
- 统一邮件收件人渲染的空值处理,防止数组为空时异常。
- 渲染纯文本邮件内容时转义 HTML,提升展示安全性。
|
2026-06-20 23:52:59 +08:00 |
|
LanQin
|
cee9f7aaa0
|
feat(mail): 优化写信编辑器移动端布局
- 调整正文容器与编辑区的伸缩关系,提升弹窗内滚动与内容填充体验。
- 精简并重排工具栏,优化小屏下按钮换行与对齐表现。
- 默认按设备宽度控制格式栏展开状态,改善移动端初始展示。
|
2026-06-20 02:37:52 +08:00 |
|
LanQin
|
6d0935c6a5
|
feat(web): 增加动效插件并优化侧边栏动画
- 为 `web` 应用引入 `tailwindcss-animate`,并接入 Tailwind 配置。
- 调整 `sheet` 与 `sidebar` 的移动端遮罩、过渡时长和动画曲线,提升侧边栏展开收起体验。
- 精简移动端侧边栏无障碍标题,仅保留必要语义。
|
2026-06-20 02:26:45 +08:00 |
|
LanQin
|
4dd843b50a
|
feat(web): 优化邮箱与个人中心移动端体验
- 为管理页、邮件页和个人中心补充移动端侧栏与抽屉导航,提升小屏可用性。
- 将多处表格/详情/编辑器改为自适应布局,优化邮件列表、消息详情、撰写与规则弹窗的移动端显示。
- 调整顶部栏、按钮与内容区域间距,统一不同屏幕下的阅读与操作体验。
|
2026-06-20 02:13:29 +08:00 |
|
killerprojecte
|
c3a66683ee
|
chore: linear whitespace between adjacent encoded words is stripped
|
2026-06-19 23:12:20 +08:00 |
|
killerprojecte
|
d312076d4b
|
chore: handle more encodes & fix idx range
|
2026-06-19 22:15:00 +08:00 |
|
killerprojecte
|
f0c175e7f6
|
fix: decode RFC 2047 encoded words in mail sender display name
|
2026-06-19 21:27:05 +08:00 |
|
LanQin_
|
25f5933792
|
fix(mail): 阻止撰写弹窗外部交互关闭
- 为 `DialogContent` 增加外部交互拦截,避免点击或按下弹窗外区域时被意外关闭。
|
2026-06-17 15:10:07 +08:00 |
|
LanQin_
|
bfc114bec3
|
feat(web): 升级前端依赖并重构邮件编辑器
- 将前端包管理切换为 `pnpm`,新增工作区与锁文件,并同步更新 CI 与 Docker 构建流程。
- 引入 `tiptap` 重构邮件正文编辑器,支持预览、富文本样式、链接/图片编辑与日程卡片插入。
- 发送与定时发送新增确认提示,补充空主题、空正文和附件提醒。
- 更新 `README.md` 与 `SHADCN_RULES.md` 中的安装与检查命令。
|
2026-06-17 14:58:56 +08:00 |
|
LanQin_
|
095d3ad247
|
feat(mail): 优化邮件编辑器与邮件同步行为
- 新增已发送文件夹导入测试,并让同步时自动将非收件箱邮件标记为已读。
- 优化编辑器工具栏交互,增强下拉菜单与按钮的悬停/选中态表现,并修复部分按钮点击时的选区丢失。
- 为加粗、列表、对齐等命令加入乐观切换,提升工具栏状态反馈的即时性。
|
2026-06-17 14:14:48 +08:00 |
|
LanQin_
|
a8c2fc852c
|
feat(mail): 支持草稿与定时发送
- 新增草稿保存、草稿编辑/删除、定时发送列表与取消接口,并在后台加入待发送任务表与定时发送工作协程。
- 邮件撰写页支持草稿自动保存、定时发送弹窗、草稿入口识别,以及待发送视图与状态标记。
- 同步补充前端 API 类型与调用,并增加定时发送流程的后端测试。
|
2026-06-17 13:43:19 +08:00 |
|
LanQin_
|
f0044e477c
|
feat(auth): 优化登录注册页面与人机验证展示
- 调整登录、注册页布局为更一致的卡片式结构,提升表单可读性与视觉层级。
- 为登录/注册按钮与状态区补充图标和文案,优化交互反馈。
- 让 Turnstile 验证组件支持自适应宽度并使用更合适的展示尺寸。
|
2026-06-17 10:35:56 +08:00 |
|
LanQin_
|
d008638046
|
feat(mail): 升级写信编辑器并移除 Markdown 依赖。
- 将正文编辑器改为富文本 `contentEditable`,支持字体、字号、颜色、高亮、对齐、列表、缩进等格式化操作。
- 新增抄送/密送显示切换与“分别发送”能力,优化收件人发送方式。
- 移除 `marked` 依赖,并同步精简 `turnstile-box` 的边框样式。
|
2026-06-17 09:44:46 +08:00 |
|
LanQin
|
5821d9aa30
|
feat(mail): 支持发件人名称展示与存储
- 为邮件消息新增 `fromName` 字段,并同步扩展数据库迁移、API 类型与前后端查询/入库逻辑。
- 解析入站邮件时提取并保存发件人名称,发信时将邮箱显示名写入 MIME `From` 头。
- 邮件列表、详情、通知与引用内容改为优先展示发件人名称,提升可读性。
|
2026-06-16 23:29:23 +08:00 |
|
LanQin
|
045132146b
|
feat(mail): 增加签名管理与客户端配置
- 新增邮件签名的数据表、接口和前端管理页,支持全局/邮箱默认签名的创建、编辑、删除与查询。
- 写信时自动带入当前邮箱的默认签名,并优化手动输入内容时的覆盖行为。
- 补充第三方邮件客户端配置页,展示 IMAP/POP3/SMTP 连接信息及公共主机名。
- 扩展部署配置,开放 POP3S/SMTPS 端口并启用 Dovecot POP3 服务。
|
2026-06-16 23:15:35 +08:00 |
|
LanQin
|
9a0e039767
|
feat(mail): 增加新邮件通知提醒
- 新增收件箱轮询探测,用于发现新邮件到达。
- 在收到新邮件时触发站内提示、桌面通知和提示音。
- 补充通知状态缓存与自动刷新联动,避免重复提醒。
|
2026-06-16 22:45:10 +08:00 |
|
LanQin
|
b0cc425f61
|
chore(mail): 优化邮件投递超时与服务配置
- 为 SMTP 连接与前端发信请求增加更明确的超时控制。
- 调整 Postfix 与 Rspamd 代理配置,缩短相关处理超时并统一运行参数。
|
2026-06-16 22:28:04 +08:00 |
|
LanQin
|
4882a65e43
|
docs(admin): 精简 SMTP 配置说明
- 移除发信通道卡片中的重复提示文案。
- 保留页面内的默认配置说明,减少信息冗余。
|
2026-06-16 22:13:12 +08:00 |
|
LanQin
|
b9b76c6b8c
|
fix(smtp): 适配内置 Postfix 发信链路
- 后端按 SMTP 端口区分普通连接、STARTTLS 和隐式 TLS,避免发信流程在不同中继场景下异常。
- 前端调整管理员页的发信说明与字段文案,强调默认使用内置 Postfix。
|
2026-06-16 22:10:15 +08:00 |
|
LanQin_
|
d87f635899
|
feat(admin,mail,profile): 增强邮件管理与交互体验
- 新增统一确认弹窗,替换多个删除/清理操作的直接执行。
- 管理后台支持首次配置引导、域名/邮箱/别名创建入口,以及邮件列表分页加载更多。
- 邮箱页改为分页拉取邮件,补充无邮箱状态、批量删除确认和“写邮件”可用性控制。
- 个人中心为联系人、清理、规则、拦截操作增加二次确认。
- 将 DKIM 密钥长度提升为 2048 位,增强安全性。
|
2026-06-16 15:40:38 +08:00 |
|
LanQin_
|
c1eb616759
|
feat(admin): 优化 DNS 记录展示与解析
- 为 DNS 记录补充说明文案,帮助理解 MX、SPF、DKIM、DMARC 的作用。
- 将 MX 记录目标改为 `PublicHostname`,避免固定指向 `mail` 子域。
|
2026-06-16 11:15:03 +08:00 |
|