You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Playframework[Java]:Plesk创建的邮箱无法适配Mailer插件

我来帮你梳理下切换自建邮箱后Play-Mailer失效的排查思路和解决方案:

1. 先确认自建邮箱的SMTP核心参数

首先你得从Plesk后台拿到正确的SMTP配置信息,Plesk托管的邮箱通常遵循以下规则:

  • SMTP主机:一般是mail.example.com或者你的VPS主域名(部分服务商也支持smtp.example.com)
  • 端口选择:优先选这两个常用加密端口:
    • 587(TLS加密,多数服务商推荐)
    • 465(SSL加密)
    • 25端口通常会被VPS服务商或防火墙禁用,不建议使用
  • 加密方式:要和端口匹配——587对应tls=true,465对应ssl=true
  • 登录用户名:必须是完整的邮箱地址ex@example.com(这点和Gmail不同,Gmail可以只用前缀,自建邮箱几乎都要求全地址登录)

2. 调整Play-Mailer配置示例

把原来的Gmail配置替换成适配自建邮箱的参数,给你一个参考配置:

play.mailer {
  host=mail.example.com
  port=587
  ssl=false
  tls=true
  user=ex@example.com
  password=你的Plesk邮箱密码
  debug=true  # 先开启调试模式,方便抓取错误日志
  mock=false
}

这里划几个重点:

  • 务必用完整邮箱地址作为用户名,很多人会犯只用前缀的错误导致认证失败
  • 加密参数和端口要严格对应,不要同时开启ssl和tls
  • 临时打开debug=true,Play-Mailer会输出详细的SMTP交互过程,这是定位问题的关键

3. 排查常见坑点

  • 端口拦截问题:检查VPS的防火墙(比如iptables、firewalld)是否开放了你选择的SMTP端口,同时确认你的VPS服务商没有默认禁用该端口(比如25端口大概率被禁)
  • 密码正确性:确认你用的是Plesk后台单独给该邮箱设置的密码,不是VPS主机的面板密码
  • SMTP认证开关:Plesk的邮箱默认强制要求SMTP认证,不要省略user和password配置
  • SSL证书问题:如果用加密端口,确保你的mail.example.com有有效的SSL证书(Plesk一般会自动给mail子域名配置Let's Encrypt证书),如果证书不被Java信任,会抛出握手异常——测试阶段可以临时关闭证书验证(生产环境不推荐),或者把证书导入Java的信任库

4. 用调试日志精准定位问题

开启debug=true后,启动Play应用尝试发送邮件,然后查看应用日志里的SMTP交互细节:

  • 如果日志显示Authentication failed:大概率是用户名格式错误或密码不对
  • 如果显示Connection refused:要么是SMTP主机地址填错,要么是端口被拦截
  • 如果显示SSLHandshakeException:就是SSL证书的信任问题

根据日志里的具体错误信息,就能快速锁定并解决问题了。

内容的提问来源于stack exchange,提问作者Kortas Aladinne

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:32:59