导入时会创建包含空用户名的邮箱记录,这些记录无法删除

作者: zhihuz123创建于 2026年9月14日更新于 2026年9月14日
标签bug

操作系统

链接

操作系统版本

CentOS Linux 8 主题

系统架构

阿尔马-64

ZZTERM3 版本

Docker 版本 27.3.1, 构建 ce12230

Docker 编译版本

Docker 编译版本 v2.2.7.

  • 可在最新版本中复制?

是的,发生在最近的稳定释放中

  • 复制步骤
  1. 部署10亿邮件(核心4.7.2)和登录。
  2. 打开邮箱并点击进口
  3. 上传带 " 用户名 " 一栏的CSV,其单元格为空:

页:1 用户名, 密码 , secret123 (英语).


4. 据报告,进口是成功的。 列表中现在包含一个空记录
用户名(`local part='',`domain='',`maildir='@',`quota=1000')。
5. 在行上点击**删除**。

当信头根本没有“用户名”一栏时,情况也是如此——例如:
" 电子邮件,密码 " 有两行数据,每行都倒入同一空格
身份证明

观察行为

删除记录总是失败 :

翻译:
POST/api/mailbox/delate {"电子邮件":["]]]
{"成功":假"代码":"500""msg":"没有提供有效的电子邮件地址"}
  • 请求前后的 " 邮箱 " 行数不变,删除 从未到达数据库。
  • 记录留在列表中;重试返回相同的错误。
  • 创造它的进口报告成功, 所以没有什么可以警告操作者。 行数 静静地丢弃的`惰性无知'也算作进口。
  • 批次删除也不删除它:空标识符从 请求中,删除其他选定的行,答复中仍然报告 批次为成功。

• 预期行为

记录被删除。 用户名'是邮箱'的主要密钥,而PostgreSQL接受一个空字符串作为密钥值,所以一个空的标识符是合法——如果不需要——删除必须能够处理的输入. 已经存在的一行必须从UI中移除.

补充信息

<img宽=""1709"高="555" alt="Image" src="https://GitHub.com/user-attachments/assets/d8bb6324-ca72-4341-9dfc-b7c03b06cf0b"/".

<img宽=""1702"高="543" alt="Image" src="https://GitHub.com/user-attachments/assets/97d59775-e964-4ba5-ad8d-5f66fd2a45d2"/

内容来源: Billionmail/BillionMail