Commit Graph

151 Commits

Author SHA1 Message Date
040d353cd4 完善数据库迁移结构校验
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-31 13:06:26 +08:00
e9981cff70 完善IMAP删除语义并同步三份整改清单
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-31 10:54:08 +08:00
fc027636c2 完善IMAP标志位和邮件消息标识
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-31 09:32:46 +08:00
318699c0b6 补充第三方协议登录验证说明
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-31 02:45:49 +08:00
e9bbc9f4f4 补齐管理员重置协议凭据测试
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-31 02:35:12 +08:00
065d8a5417 完善第三方协议登录测试
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-31 02:31:47 +08:00
18f9fd34e5 完善第三方协议授权码登录
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-31 02:11:45 +08:00
9b19268c00 继续收敛邮件策略读取运行时快照
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-31 00:34:30 +08:00
d4c3994102 统一邮件协议域名读取运行时快照
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-31 00:25:12 +08:00
dfd27a34b6 接入SMTP分区快照配置并保护验证码投递凭据
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-31 00:11:16 +08:00
7abe44a59d 补充邮件端口快照测试并保留IMAP安全端口
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-31 00:02:50 +08:00
8207d54933 接入邮件服务监听端口配置快照
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-30 23:53:17 +08:00
64749a578b 修复初始化状态并发竞争与邮箱字段兼容
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-30 23:45:48 +08:00
b365c2535f 实现用户邮箱绑定和登录标识解析
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-30 23:33:38 +08:00
38d139f82e 保留用户名大小写并规范化邮箱域名
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-30 23:07:27 +08:00
6c5e84d798 禁止直接认证截断完整邮箱标识
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-30 23:06:27 +08:00
3a6582c722 统一协议邮箱标识认证处理
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-30 23:03:36 +08:00
e603295df3 完善配置快照失败恢复提示与重试测试
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-30 22:55:41 +08:00
acf03222e9 完善回滚票据并发与失败重试
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-30 22:36:20 +08:00
37a0381b67 完善配置操作取消边界
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-30 22:19:14 +08:00
d060a36d57 完善审计与数据库迁移取消边界
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-30 22:11:11 +08:00
d70ab71af0 完善邮件服务IPv6解析记录
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-30 21:56:32 +08:00
15a1009ff8 完善配置重载取消边界校验
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-30 21:53:28 +08:00
6de9fb1ebc 补充运行时密文校验与迁移取消处理
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-30 21:48:29 +08:00
70a2f39042 完善配置快照预检与数据库迁移失败处理
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-30 21:34:23 +08:00
961d9ff222 加强初始化令牌并发保护
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-30 20:53:27 +08:00
78ae5cb17b 修复初始化完成跳转与服务退出竞态
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-30 20:26:19 +08:00
00a87948c2 修复初始化状态被旧配置误判
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-30 20:09:11 +08:00
ffa7378480 完善初始化请求链路与异常响应
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-30 20:03:37 +08:00
0b10489728 优化数据库初始化失败处理
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-30 19:40:57 +08:00
29cfebd620 完善配置安全校验与数据库迁移处理
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-30 17:45:52 +08:00
3af1fc4147 完善配置审计与数据库迁移安全链路 2026-08-30 12:05:56 +08:00
84440d8761 完成配置迁移、插件安全整改与初始化向导优化 2026-08-29 23:44:56 +08:00
ce1b557ea9 加固超级管理员本机重置通道权限校验
Some checks failed
Security Checks / security (push) Has been cancelled
2026-08-28 14:54:23 +08:00
dd04bdb49e 完成安全整改、配置重构与邮件认证优化
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-28 14:33:13 +08:00
18b6dfbdf7 完成安全整改与配置系统重构阶段开发
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-28 00:42:28 +08:00
51767b9f5b 完成安全整改与认证功能重构 2026-08-27 21:51:51 +08:00
e91a64136b 重命名项目并补充插件与安全整改文档 2026-08-24 15:27:19 +08:00
0clickjacking0
a6049bf052
fix(smtp): make audit persistence atomic (#358) 2026-08-20 17:24:38 +08:00
0clickjacking0
1da3e178bf
fix(smtp): 修复下游投递失败后 SMTP DATA 仍返回成功,导致上游误判为已发送 (#356)
* fix(smtp): propagate downstream delivery failures

* test(smtp): support Go 1.26 textproto errors
2026-08-17 10:40:52 +08:00
0clickjacking0
cd8d549a90
fix(email): preserve timezone when rebuilding Date headers (#355) 2026-08-17 10:39:30 +08:00
P家单推人
430c9c6c10
feat(email): 新增 SPF/DKIM 邮件认证追踪 (#354)
新增 EmailAuthentication 统一封装 SPF/DKIM 验证结果与 Dangerous 结论。

重构邮件列表与 SMTP 收信流程,保证认证结果在插件、数据库和列表展示之间一致,并保留伪造邮件处理优先级。

扩展解析邮件 DTO 的认证字段,覆盖历史收件恢复、发送路径隔离、HookDTO 序列化及旧版插件兼容性测试。
2026-08-13 14:24:46 +08:00
NikoCat233
593c3fb720
修复邮件详情与规则更新的水平越权漏洞 (#351)
* fix(auth): enforce email detail ownership

* fix(rules): scope updates to owning user
2026-07-22 15:58:56 +08:00
NikoCat233
da55756917
fix: 修复 SpamBlock 配置越权 (#352) 2026-07-22 15:57:22 +08:00
Cd1s
05bca5d5a8
改进邮件转发的投递兼容性 (#347)
优先使用原始邮件数据转发,保留原始发件人、主题、正文、MIME 和 DKIM 签名,避免重建邮件导致严格 DMARC 收件方拒收。

当原始转发被拒时,回退为使用本地转发账号重新投递,同时保持原始主题不变。

同时修正本地域名转发逻辑:精确识别本地域名,自转发时报错,转发给其他本地用户时直接投递到本地收件箱,避免旧的字符串包含判断误拦截。

测试:go test -v ./services/rule ./dto/parsemail ./utils/send

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 23:29:39 +08:00
Jinnrry
6455635f74
Feature/v2.9.2 (#344)
* feature/v2.9.0

ui优化

* add test case

add test case

* feature/v2.9.2

bug fix

---------

Co-authored-by: Your Name <you@example.com>
2026-05-31 18:42:58 +08:00
Cd1s
68dc2f0f47
fix(imap): advertise and clean up IDLE capability (#343)
Co-authored-by: cheek <cheek@cheek-omenbyhpgaminglaptop16n0xxx.omen.lan>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 18:25:31 +08:00
Jinnrry
cd2c879cfd
Feature/v2.9.1 (#338)
add test case
2026-05-23 00:14:37 +08:00
QvaaX
b0913ee804
fix: resolve multipart email parsing issue (#336)
* fix: resolve multipart email parsing issue

* resolve multipart email parsing issue

解决邮件正文被附件覆盖的bug

* Update email.go

修改xss过滤
2026-05-22 17:45:06 +08:00
Cd1s
23c2fbbdd5
fix: generate Message-ID once and persist to DB (#328)
Previously, a random suffix was generated every time BuildBytes or
ForwardBuildBytes was called, causing IMAP/POP3 clients to treat the
same message as a new message on every sync and breaking conversation
threading.

Changes:
- Add msg_id column to the email table (synced automatically via Sync2)
- Generate a crypto/rand-based RFC-compliant Message-ID once at email
  creation time (send.go for outgoing, read_content.go for incoming)
- Preserve the original Message-ID from externally received emails
- Load the persisted MsgID when rebuilding Email from DB records
- Use the stored MsgID in BuildBytes, ForwardBuildBytes and the IMAP
  ENVELOPE response; fall back to the old numeric format for legacy rows

Fixes the MSGID_SHORT SpamAssassin penalty and Gmail rejection while
keeping Message-IDs stable across syncs.

Co-authored-by: root <root@Claw-ai.tail1478c.ts.net>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-13 11:43:59 +08:00