在发送邮件时,我遇到了这个错误
java.lang.RuntimeException:javax.mail.SendFailedException:发送失败;嵌套异常为:类javax.mail.MessagingException:无法连接到SMTP主机:SMTP.gmail.com,端口:465,响应:-1
我的代码是:
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.starttls.enable","true");
props.put("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "465");
Session session = Session.getDefaultInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("email","password");
}
});
try {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("email"));
message.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(this.to));
message.setSubject("Testing");
message.setText("Hey, this is the testing email.");
Transport.send(message);
您需要告诉它您正在使用SSL:
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
如果您错过了什么,下面是工作代码:
String d_email = "address@gmail.com",
d_uname = "Name",
d_password = "urpassword",
d_host = "smtp.gmail.com",
d_port = "465",
m_to = "toAddress@gmail.com",
m_subject = "Indoors Readable File: " + params[0].getName(),
m_text = "This message is from Indoor Positioning App. Required file(s) are attached.";
Properties props = new Properties();
props.put("mail.smtp.user", d_email);
props.put("mail.smtp.host", d_host);
props.put("mail.smtp.port", d_port);
props.put("mail.smtp.starttls.enable","true");
props.put("mail.smtp.debug", "true");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.socketFactory.port", d_port);
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.socketFactory.fallback", "false");
SMTPAuthenticator auth = new SMTPAuthenticator();
Session session = Session.getInstance(props, auth);
session.setDebug(true);
MimeMessage msg = new MimeMessage(session);
try {
msg.setSubject(m_subject);
msg.setFrom(new InternetAddress(d_email));
msg.addRecipient(Message.RecipientType.TO, new InternetAddress(m_to));
Transport transport = session.getTransport("smtps");
transport.connect(d_host, Integer.valueOf(d_port), d_uname, d_password);
transport.sendMessage(msg, msg.getAllRecipients());
transport.close();
} catch (AddressException e) {
e.printStackTrace();
return false;
} catch (MessagingException e) {
e.printStackTrace();
return false;
}
这是我用来发送电子邮件的代码: javax.mail.MessagingException:无法连接到SMTP主机:SMTP.gmail.com,端口:465; 嵌套异常为: java.net.connectException:连接被拒绝 在com.sun.mail.SMTP.smtpransport.openserver(smtpransport.java:1961) 在com.sun.mail
我正在尝试发送电子邮件,但一直收到以下错误: 无法连接到SMTP主机:SMTP.gmail.com,端口:465,响应:-1 javax.mail.MessagingException:无法连接到SMTP主机:SMTP.gmail.com,端口:465,响应:-1在com.sun.mail.SMTP.smtptransport.openserver(smtptransport.java:2088)
我想创建电子邮件模板,因为我想附加html代码来创建模板,所以我尝试了下面的代码,在这个端口465的哪里,有人能帮我吗? 螺母代码没有被执行异常是 我无法找到465不工作的原因,以及什么是响应:-1有人能给我建议一个解决方案吗
我需要使用Gmail作为SMTP服务器从我的应用程序发送电子邮件。这是我的邮件连接器类,我在一个单独的属性文件中设置了值 属性: 然后我实现了一个邮件发送者类,名为“GroupEmail.class” 毕竟,我在需要触发要发送的电子邮件的地方调用了“GroupEmail.class”。 我在localhost使用Tomcat v8服务器,当应用程序工作时,我得到了以下异常。
我正在获取javax.mail.MessagingException:无法连接到SMTP主机:主机名端口:25响应:552 有时邮件发送成功。但有时我会遇到例外。 我不清楚为什么会发生这种情况。如果有什么事情出了问题,那么就不应该发送邮件。但例外情况有时还是会发生。 javax.mail.messagingException:无法连接到SMTP主机:mail.mydomain.com,端口:25,
} 谁能告诉我,我的代码是不是错了,或者我遗漏了什么?以下是完整的错误输出。