Skip to content

feat(mail): Allow SMTP to skip tls certificate validation#1726

Open
Zerek-Cheng wants to merge 2 commits intoWei-Shaw:mainfrom
Zerek-Cheng:main
Open

feat(mail): Allow SMTP to skip tls certificate validation#1726
Zerek-Cheng wants to merge 2 commits intoWei-Shaw:mainfrom
Zerek-Cheng:main

Conversation

@Zerek-Cheng
Copy link
Copy Markdown

@Zerek-Cheng Zerek-Cheng commented Apr 17, 2026

问题背景

后台邮件设置里只有“使用 TLS”,没有“跳过 TLS 证书信任校验”这个选项。

这样一来,只要 SMTP 服务用了自签名证书,或者证书链配得不完整,测试连接和实际发信都会失败,后台也没有地方保存这类配置。(特殊内网场景下也只能自签了)

本次修改

  • 在系统设置的邮件配置里增加了 smtp_skip_tls_verify,默认是关闭
  • 前端改成只有勾选“使用 TLS”时,才显示“跳过 TLS 证书信任校验”
  • 保存设置、测试 SMTP、发送测试邮件时,都会把这个字段一起传给后端
  • 后端把这个配置接进了系统设置读取、接口返回、SMTP 测试连接和实际发信逻辑
  • 补了一条数据库迁移,给历史部署自动补上默认值 false

验证

  • cd backend && go test -tags unit ./internal/service -run TestSettingService_UpdateSettings_SMTPFlags -count=1
  • cd backend && go test -tags unit ./internal/server -run TestAPIContracts -count=1
PixPin_2026-04-17_15-28-45 PixPin_2026-04-17_15-29-03

@Zerek-Cheng
Copy link
Copy Markdown
Author

@Wei-Shaw

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant