Commit Graph

28 Commits

Author SHA1 Message Date
d4c3994102 统一邮件协议域名读取运行时快照
Some checks are pending
Security Checks / security (push) Waiting to run
2026-08-31 00:25:12 +08:00
51767b9f5b 完成安全整改与认证功能重构 2026-08-27 21:51:51 +08:00
e91a64136b 重命名项目并补充插件与安全整改文档 2026-08-24 15:27:19 +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
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
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
HanaHime
9753b2e09f
[Improve] SMTP & IMAP (#321)
* [Temporarily Fix] SSL Can NOT Renew

* SMTP and IMAP Improve
SMTP With STARTTLS 行为变更 && IMAP 搜索功能尝试实现

* 修复一些客户端玄学问题
2026-01-17 21:38:08 +08:00
Jinnrry
778e279b4f
feature/v2.8.6 (#304)
imap协议完善
smtp信息泄露修复
2025-08-30 20:25:11 +08:00
jzh
788cd43c43
Fix xss feature (#290)
* fix: 修复解析邮件相关的xss漏洞

* fix: 修复email解析中的xss漏洞,添加一些生成的测试用例

* fix: 修复email解析中的xss漏洞,添加一些生成的测试用例

* fix: 修复email解析中的xss漏洞,添加一些生成的测试用例
2025-07-01 15:40:41 +08:00
Jinnrry
fcc863e8b8
feature/v2.8.4 (#277)
1、发件列表不展示bug修复
2、smtps支持587端口
3、发件代码优化
2025-05-10 09:31:23 +08:00
Jinnrry
e194d6ecfd
feature/v2.8.3 (#269)
1.优化垃圾邮件处理
2.升级所有依赖,go版本升级到1.24
2025-04-20 09:59:56 +08:00
Jinnrry
5af46b32f6
Feature/v2.8.0 (#231)
支持Imap协议
升级所有依赖
修复部分bug
2025-01-04 16:23:07 +08:00
Jinnrry
6697d2b229
feature/v2.7.5 (#221)
* feature/v2.7.5 

1、非管理员修改昵称报错修复
2、IOS“邮件”客户端展示错误修复。
2024-11-03 15:28:18 +08:00
Jinnrry
223117283b
feature/2.7.4 (#215)
1、SSL renew过程添加挑战适配器
2、转发邮件保留原始收件人地址
3、支持密送功能
4、升级所有依赖包
2024-10-05 10:03:46 +08:00
Jinnrry
e6a56b199d
v2.6.2 (#177)
1、修复邮件插入失败
2、插件支持设置页面
3、修复pop3邮箱拉取权限判断
4、修复非管理员账户的附件权限判断

Co-authored-by: jinnrry <i@jinnrry.com>
2024-07-27 20:47:42 +08:00
Jinnrry
054336fe9e
v2.6.1 (#169)
1、新增垃圾邮件过滤插件
2、使用使用github.com/dlclark/regexp2替换go原生的正则包
3、修复空数据导致的邮件插入失败
2024-07-20 10:39:17 +08:00
Jinnrry
01cbdc9875
V2.5.0 (#132)
支持多用户
支持SSL证书支持DNS验证
增加mysql测试用例
修复DNS设置时的展示歧义
2024-07-02 21:02:00 +08:00
Jinnrry
2660fc7b13
V2.4.7 (#112)
1、添加单测用例
2、mysql初始化bug修复
3、邮件删除bug修复
2024-04-30 14:43:37 +08:00
jinnrry
096b4b8fed v2.4.3 (#5)
插件迭代、收信规则bug修复
修复邮箱地址解析错误
修改pop删除命令为软删除
升级所有依赖
2024-04-13 08:55:03 +08:00
jinnrry
dbc125d1c2 空指针异常修复 2024-01-29 19:38:33 +08:00
jinnrry
b1d3c14164 RFC 5322 添加MessageId 2023-11-22 20:07:01 +08:00
jinnrry
b78bf619d8 RFC 5322 添加MessageId 2023-11-22 19:33:22 +08:00
jinnrry
4f8c97f6dc 支持pop3协议,支持SMTLS协议 2023-11-15 14:55:46 +08:00
木木的木头
f4689d073c v2.2.0 2023-09-08 02:11:00 +08:00
jinnrry
494940afc9 first commit 2023-07-30 17:59:25 +08:00