繁体   English   中英

通过gmail从Java发送电子邮件时出现异常

[英]Exception in sending email from java via gmail

我尝试通过gmail从Java发送电子邮件时遇到以下异常。

javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465;
nested exception is:
java.net.ConnectException: Connection refused: connect
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1391)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:412)
at javax.mail.Service.connect(Service.java:288)
at javax.mail.Service.connect(Service.java:169)
at Mail.Send(Mail.java:75)
at Mail.main(Mail.java:85)
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.security.ssl.SSLSocketImpl.connect(Unknown Source)
at sun.security.ssl.BaseSSLSocketImpl.connect(Unknown Source)
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:233)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:189)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1359)
... 5 more

我引用了http://www.tutorialspoint.com/javamail_api/javamail_api_gmail_smtp_server.htm使用Java发送电子邮件,但SSL和TLS都出现了相同的例外。 有什么解决办法吗?

提前致谢。

您需要在GMAIL中启用SMTP访问,还需要为您的帐户允许不安全的客户端:

https://www.google.com/settings/security/lesssecureapps

https://support.google.com/mail/answer/75726

请注意,您要使用的smtp端口已在防火墙中打开! 如果可能,我建议尝试从运行代码的计算机上进行连接检查。 然后,您知道客户端是否可以连接。

在GMAIL中启用SMTP访问后,还需要允许您的帐户使用不安全的客户端(如LucasF所建议)尝试以下配置:

host :smtp.gmail.com
port :587
username :you@gmail.com
password :yourpassword
   JavaMailProperties : 
     mail.transport.protocol : smtp
     mail.smtp.auth : true
     mail.smtp.starttls.enable :true
     mail.debug :true

我可以将此配置与import org.springframework.mail.SimpleMailMessage类一起使用,并且可以正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM