尝试{Properties props = new Properties(); props.put(“mail.smtp.starttls.enable”,“true”); props.setProperty(“mail.transport.protocol”,“smtp”); props.setProperty(“mail.smtp.host”,“smtp.gmail.com”); props.put(“mail.smtp.auth”,“true”); props.put(“mail.smtp.port”,“465”); props.put(“mail.smtp.socketFactory.port”,“587”); props.put(“mail.smtp.socketFactory.fallback”,“false”); props.setProperty(“mail.user”,“username”); props.setProperty(“mail.password”,“password”);
Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator()
{
protected PasswordAuthentication getPasswordAuthentication()
{ return new PasswordAuthentication("username","password"); }
});
session.setDebug(true);
MimeMessage msg = new MimeMessage(session);
InternetAddress addressFrom = new InternetAddress(from);
msg.setFrom(addressFrom);
msg.addRecipient(Message.RecipientType.TO,new InternetAddress(" Recipient mail id "));
msg.setSubject(subject);
Transport transport = session.getTransport();
transport.connect();
transport.sendMessage(msg,msg.getRecipients(Message.RecipientType.TO));
transport.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我使用上面的代码发送电子邮件到Gmail帐户 . 我在属性中设置了smtp主机值(smtp.gmail.com)和端口(465) . 但电子邮件没有发送,我的应用程序卡住了很长时间 . 之后,我收到如下所示的错误
“javax.mail.MessagingException:无法连接到SMTP主机:smtp.gmail.com,port:465,响应:-1”
任何人都可以说出原因是什么以及如何解决这个问题?