GitBucket配置Gmail账户发送测试邮件失败求助
解决GitBucket配置Gmail SMTP发送邮件失败的问题
针对你遇到的org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.gmail.com:587错误,结合你给出的配置(主机smtp.gmail.com、端口587、启用STARTTLS/SSL),我整理了几个最可能解决问题的步骤,都是Gmail SMTP配置里的常见坑:
优先检查两步验证与应用密码
要是你的Gmail开了两步验证,直接用邮箱登录密码填到GitBucket的SMTP密码里肯定没用。你得去Google账号的安全设置里生成一个应用专用密码:- 登录Google账号后进入安全设置页
- 找到"应用密码"(只有开了两步验证才会显示这个选项)
- 应用类型选"邮件",设备选"其他(自定义名称)"(比如写GitBucket)
- 生成后把那串16位的密码复制到GitBucket的SMTP密码字段,再测试发送
未开两步验证?启用"不太安全的应用访问"
如果你没开两步验证,Gmail默认会拦截这类第三方应用的SMTP请求,得手动开启:- 进入Google账号安全设置
- 找到"不太安全的应用访问"选项
- 切换为允许状态(注意:2022年后部分新账号可能没有这个选项,这种情况建议开启两步验证用应用密码)
再核对一遍GitBucket的配置细节
别小看基础配置,有时候容易搞错:- 主机和端口是对的:
smtp.gmail.com+587对应STARTTLS加密 - 加密方式要选STARTTLS,而不是SSL(SSL对应的是465端口,和你用的587不匹配)
- 发件人邮箱必须是你用来配置的那个Gmail账号,不能填其他邮箱
- 主机和端口是对的:
检查服务器网络连通性
确认GitBucket所在的服务器能正常连到smtp.gmail.com:587,可以用telnet命令测试:telnet smtp.gmail.com 587如果连不上,大概率是服务器防火墙或者网络代理把587端口的出站请求给拦了,得找运维放开这个端口的权限。
内容的提问来源于stack exchange,提问作者naz
相关产品推荐
相关产品推荐

