Wujies 无界平台
平台功能(自研)可视化配置

邮件配置

邮件配置把 SMTP 参数从 application.yml 搬到数据库,管理员在页面上即可完成发件邮箱的切换。MailConfig 每次发信都会重新读取配置,所以保存后立即生效。

邮件配置(截图占位)

邮件配置(截图占位)

/images/docs/settings-email.png

建议 1920 × 1080,截 SMTP 主机、端口、账号与发件人。

配置项

配置项配置键默认说明
邮箱功能开关mail.enabledtrue关闭后所有发信直接跳过
SMTP 服务器mail.hostsmtp.qq.com服务商 SMTP 地址
SMTP 端口mail.port465SSL 常用 465,STARTTLS 常用 587
邮箱账号mail.user—完整邮箱地址
邮箱密码mail.pass—密码或授权码,建议使用授权码
发件人地址mail.from—user@example.com 或 Name <user@example.com>
是否需要认证mail.authtrue多数服务商必须开启
使用 STARTTLSmail.starttlsEnablefalse与 SSL 二选一
使用 SSLmail.sslEnabletrue465 端口通常开启
SMTP 超时mail.timeout25000单位毫秒
连接超时mail.connectionTimeout25000单位毫秒

常见服务商参数

服务商HostPort加密
QQ 邮箱smtp.qq.com465SSL,密码填授权码
163 邮箱smtp.163.com465SSL,密码填授权码
阿里云企业邮箱smtp.qiye.aliyun.com465SSL
Gmailsmtp.gmail.com465SSL,需要应用专用密码
Outlooksmtp.office365.com587STARTTLS

授权码不是登录密码。QQ / 163 邮箱需要在网页端「设置 → 账户」中开启 SMTP 服务并生成授权码。

发信链路

业务代码 → MailService → MailConfig.createMailAccount()
        → 读取 sys_config(email) → 构建 MailAccount → 发送

MailConfig 的行为:

  • 配置为空或 mail.enabled != true 时返回 null,调用方跳过发信;
  • 任何异常(端口非法、字段缺失)都被捕获并返回 null,不会让业务请求失败;
  • 不做连接池,每次发信建立连接,适合低频通知场景。

使用场景

  • 注册 / 找回密码验证码;
  • 系统通知、告警;
  • 应用内业务邮件(通过平台 MailService 或应用自己的实现)。

发送记录可在「日志管理 → 消息发送日志」查看(取决于业务是否写入 sys_message_log)。

测试配置

保存后建议立即验证:

  1. 在「消息中心」创建一条测试消息并发布;
  2. 或调用业务侧的发信接口;
  3. 查看「消息发送日志」,确认状态为成功;
  4. 检查收件箱与垃圾邮件目录。

安全

  • mail.pass 属于敏感配置,列表接口不返回明文;查看明文需要额外权限。
  • 不要把授权码提交到 Git、截图或工单。
  • 生产与测试使用不同发件账号,避免测试邮件污染正式域名信誉。

排错

现象常见原因处理
保存成功但收不到邮件未开启 SMTP 服务到邮箱网页端开启并生成授权码
Could not connect to SMTP host端口 / 加密方式不匹配465 + SSL,或 587 + STARTTLS
535 Authentication failed使用了登录密码改用授权码
发件人地址被拒mail.from 与账号不一致多数服务商要求 From 等于登录账号
超时服务器出网受限检查 465/587 出站策略与 DNS
日志显示 mail.enabled=false开关关闭打开开关并保存

目录