Commit Graph

33 Commits

Author SHA1 Message Date
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
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
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
Jinnrry
826ac26636
Feature/v2.8.10 (#323)
v2.8.10

1、bug fix #317 #320

2、支持token方式验签,使用参考 PMail_Github/server/main_test.go:135

3、587端口 starttls 问题修复

4、imap 协议功能补全 Tnanks for @HanaKDev
2026-02-01 16:40:24 +08:00
Jinnrry
bb1da921c8
Feature/v2.8.9 (#315)
1、翻译优化 #291
2、IMAP协议翻页显示问题修复
3、邮件删除bug修复 #312
2025-11-23 17:56:07 +08:00
Jinnrry
fcc863e8b8
feature/v2.8.4 (#277)
1、发件列表不展示bug修复
2、smtps支持587端口
3、发件代码优化
2025-05-10 09:31:23 +08:00
Jinnrry
69800a8a0e
feature/v2.8.1 (#239)
修复ssl证书校验失败
部分客户端兼容性修复
修复邮件移动失败问题
支持“广告箱”
2025-01-06 21:01:38 +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
2bf2635a40
v2.6.3 (#187)
1、支持发件昵称修改
2、垃圾邮箱识别增加英文数据集
2024-08-11 15:24:54 +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
9ffbdf41c3
v2.6.0 (#14) (#155)
1、支持多域名
2、支持PostgreSQL数据库
3、更新全部依赖
4、支持垃圾箱邮件删除

Co-authored-by: jinnrry <i@jinnrry.com>
2024-07-14 09:42:43 +08:00
jinnrry
402e00150d 修复证书文件判断错误 2024-07-08 10:27:34 +08:00
Jinnrry
4c22035819
V2.5.2 (#145)
* 移除自动DNS记录验证方式

* v2.5.2 (#13)

1、重写SSL证书申请逻辑,支持DNS记录验证方式
2、修复无法查看详情的bug
3、优化手动设置证书的逻辑
4、发送失败邮件添加错误提醒
5、补充详情接口的单元测试

Co-authored-by: jinnrry <jinnrry@users.noreply.github.com>
Reviewed-on: http://192.168.123.5/jinnrry/PMail_Github/pulls/13

---------

Co-authored-by: jinnrry <jinnrry@users.noreply.github.com>
Co-authored-by: jinnrry <i@jinnrry.com>
2024-07-06 12:54:58 +08:00
Jinnrry
056036e880
移除自动DNS记录验证方式 (#141)
Co-authored-by: jinnrry <jinnrry@users.noreply.github.com>
2024-07-03 20:45:01 +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
7a3d056e77 v2.4.6
1、优化初始化设置时的操作说明
2、发件人和发件时间修复
3、发件空指针异常修复
2024-04-27 12:51:59 +08:00
jinnrry
d7fe9ba1a1 bug fix
修复并非写map造成的panic
2024-04-20 09:10:13 +08:00
jinnrry
cc4aa851bc v2.4.4 (#6)
pop3收件箱出现已删除邮件bug
从sqlx切换到xorm
第三方客户端发信出现在草稿箱bug
2024-04-13 09:26:34 +08:00
jinnrry
004fc91586 fix 2024-03-04 11:47:28 +08:00
Jinnrry
20f3590a04
V2.4.0 (#89)
* 插件架构改造

* v2.4.0
2024-03-01 19:10:56 +08:00
jinnrry
74e5acbd43 add log 2023-11-23 18:58:49 +08:00
jinnrry
b78bf619d8 RFC 5322 添加MessageId 2023-11-22 19:33:22 +08:00
木木的木头
f4689d073c v2.2.0 2023-09-08 02:11:00 +08:00
jinnrry
cbfbebd7e1 v2.1.2
修复协程调度顺序错误
2023-08-30 19:15:15 +08:00
jinnrry
12a79d9591 v2.1.2
修复协程调度顺序错误
2023-08-30 17:51:29 +08:00
jinnrry
5ef5057032 v2.1 2023-08-27 19:42:00 +08:00
jinnrry
318fea24ad v2.0 2023-08-12 12:49:57 +08:00
jinnrry
c0f12558b5 init 2023-08-06 09:33:51 +08:00
jinnrry
494940afc9 first commit 2023-07-30 17:59:25 +08:00