直到几周后,我的电子邮件才能从我为堂兄的业务创建的网站中完美发送,但是现在她告诉我,她的客户每次尝试约会时都会遇到此错误。
现在我开始调试它,我已经检查过我用于发送的gmail是否允许每个应用程序访问它,我再次检查了spring boot应用程序的属性,等等。在本地主机上对其进行测试时,发送电子邮件,但是在已部署的网站上,它在下面的图片中显示了错误...同样,两个月前,当我进行最后一次检查时,它工作正常。它仍然可以正常工作,但是只能在我的本地主机上使用。
这是我的应用程序属性的样子:
spring.mail.host=smtp.gmail.com
spring.mail.username=..
spring.mail.password=..
spring.mail.port=587
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
spring.mail.properties.mail.smtp.ssl.trust=smtp.gmail.com
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.connectiontimeout=5000
spring.mail.properties.mail.smtp.timeout=5000
spring.mail.properties.mail.smtp.writetimeout=5000
这是每个人都遇到的错误的屏幕快照(该Webiste已与heroku一起部署):
谢谢!
答案 0 :(得分:1)
错误消息指出,有一个AuthenticationException
并且错误消息要求通过浏览器登录。
由于2FA已关闭,最有可能的原因是他们想要显示一个验证码,这需要人工干预。我发现的link建议通过访问目标帐户上的https://accounts.google.com/DisplayUnlockCaptcha可以手动清除验证码,然后它可以工作。
但是,我不认为手动清除验证码就足够了,因为它可能随时回来。似乎正确的方法是启用2FA并使用application specific passwords。
答案 1 :(得分:0)
You have to Pass Username(Gmail Id) and Gmail Mail APi Generated Password
spring.mail.host=smtp.gmail.com
spring.mail.port=587
spring.mail.username=
spring.mail.password=
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.connectiontimeout=5000
spring.mail.properties.mail.smtp.timeout=5000
spring.mail.properties.mail.smtp.writetimeout=5000