58972885ad
- 重写 register-success.html,视觉风格与邮箱验证码邮件对齐 - TenantServiceImpl 开通邮件改为发送 HTML 模板邮件,添加 sendTime 字段 - 修改 EmailTemplateUtil.sendRegisterSuccessEmail 方法签名及实现,传递正确模板变量 - 更新 EmailTestController 中的测试接口参数,支持新模板数据 - 修复 MainController 注册成功邮件调用用错参数导致空字段问题,使用兜底值避免编译错误 - 备注:register-success.html 为首次启用,旧逻辑未使用此模板仅发送纯文本邮件 - 测试方式:通过 POST /api/email-test/register-success?email=xxx 预览邮件渲染效果
2.4 KiB
2.4 KiB
2026-08-10 工作日志
邮件模板风格统一:注册成功邮件对齐验证码邮件
背景:用户看到两封 WebSoft 邮件风格不统一(企业官网开通成功 vs 邮箱验证码),要求把注册成功模板改成验证码风格。
关键发现(重要):
register-success.html模板此前并未被真实开通流程使用。TenantServiceImpl.java的租户开通逻辑(约 650-673 行)走的是纯文本emailRecordService.sendEmail(...),且构建的 content 是拼接文本,根本没用 HTML 模板。EmailTemplateUtil.sendRegisterSuccessEmail原本签名是(username, phone, password, email, tenantId),只传了这些变量,和模板里的siteName/siteUrl/adminUrl/account对不上,所以旧模板这些字段一直为空。MainController.java:1428的"注册网站平台会员"分支也调用了该方法,属于账号注册场景误用"企业官网开通"模板的历史错配(旧逻辑下邮件大半空白)。
改动:
- 重写
src/main/resources/templates/register-success.html:对齐captcha.html的视觉系统(图片 Logo、.card圆角灰卡、#1d1d1f文字、#06c链接、黑色 pill 登录按钮、发送时间、统一页脚)。变量:siteName, siteUrl, adminUrl, account, password, helpUrl, sendTime。 TenantServiceImpl:开通邮件从sendEmail(纯文本)改为sendHtmlEmail("register-success.html", data, ...),补传sendTime(用DateUtil.now()),并加 try-catch 降级为纯文本(sendHtmlEmail抛受检异常MessagingException)。EmailTemplateUtil.sendRegisterSuccessEmail:签名改为(siteName, siteUrl, adminUrl, account, password, email, tenantId),正确传模板变量 +sendTime。EmailTestController的/register-success测试端点:更新为传新签名的示例数据。MainController:1428:用兜底值(siteUrl/adminUrl = https://websoft.top、siteName = username)修复编译,但语义上仍属错配,待产品决策。
验证:./mvnw -o -q compile 通过。
待用户决策:MainController 的"注册网站平台会员"分支语义是账号注册,是否应为它单独做"账号注册成功"邮件(可能需专用模板),而非复用企业官网开通模板。
测试方式:重新构建启动后,用 POST /api/email-test/register-success?email=xxx 预览真实渲染效果。