发送邮箱时出现javax.mail.MessagingException: Could not connect to SMTP host: smtp.xxx.com, port: 465, response: -1异常

在我们开发过程中发送邮箱时,可能会出现无法到SMTP主机:smtp.xxx.com,端口:25 或者 465;

异常信息如下:

javax.mail.MessagingException: Could not connect to SMTP host: smtp.xxx.com, port: 465, response: -1

如果出现这种异常,需要添加下面信息就可以解决

props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.ssl.enable", true);
//设置安全证书
props.put("mail.smtp.ssl.protocols", "TLSv1.2");

如:

Properties props = new Properties();
// 开启debug调试
props.setProperty("mail.debug", "ture");
// 发送服务器需要身份验证
props.setProperty("mail.smtp.auth", "true");
// 设置邮件服务器主机名
// props.setProperty("mail.smtp.host", "smtpdm.aliyun.com");
props.setProperty("mail.smtp.host", "邮箱服务器主机地址");
// 如果使用ssl,则去掉使用25端口的配置,进行如下配置,
props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.setProperty("mail.smtp.socketFactory.port", "465");
props.setProperty("mail.smtp.port", "465");
//设置安全证书
props.put("mail.smtp.ssl.protocols", "TLSv1.2");

props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.mime.encodefilename", "true");

Session session = Session.getInstance(props);
// MimeMultipart类是一个容器类,包含MimeBodyPart类型的对象
Multipart mainPart = new MimeMultipart();
MimeBodyPart messageBodyPart = new MimeBodyPart();// 创建一个包含附件内容的MimeBodyPart
// 设置HTML内容
try {
    messageBodyPart.setContent("测试","text/html; charset=utf-8");
    mainPart.addBodyPart(messageBodyPart);
    Message msg = new MimeMessage(session);
    msg.setSubject("发送测试");
    // 设置邮件内容
    // 设置发件人
    msg.setFrom(new InternetAddress(sendEmail, "xxx", "UTF-8"));
    // 将MimeMultipart对象设置为邮件内容
    msg.setContent(mainPart);
    // Transport transport = session.getTransport();
    SMTPTransport transport = (SMTPTransport) session.getTransport("smtp");
    // 连接邮件服务器
    transport.connect("963330213@qq.com", "密码");
    // 发送邮件
    InternetAddress[] internetAddressTo = InternetAddress.parse("963330213@qq.com");
    transport.sendMessage(msg, internetAddressTo);
}catch (Exception e) {
    e.printStackTrace();
}
posted @ 2022-09-09 15:06  转身刹那的潇洒  阅读(4535)  评论(3编辑  收藏  举报