javamail发送SSL邮件报报Unrecognized SSL message, plaintext connection错误

5 篇文章 0 订阅
4 篇文章 0 订阅

发送邮件报如下错误。smtp服务器是smtp.live.com,有要求安全连接(SSL)

2009-04-27 10:35:39,421 ERROR [STDERR] javax.mail.MessagingException: Exception reading response;
  nested exception is:
 javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
2009-04-27 10:35:39,421 ERROR [STDERR]  at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:1462)
2009-04-27 10:35:39,421 ERROR [STDERR]  at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1260)
2009-04-27 10:35:39,421 ERROR [STDERR]  at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:370)
2009-04-27 10:35:39,421 ERROR [STDERR]  at javax.mail.Service.connect(Service.java:275)
2009-04-27 10:35:39,421 ERROR [STDERR]  at javax.mail.Service.connect(Service.java:156)

 

在网上找了资料。最后用下面的方式解决:

 

在配置JavaMail的Properties事,不要指定“mail.smtp.socketFactory.class”,因为TLS使用的是普通的Socket。然后指定属性“mail.smtp.starttls.enable”为“true”。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明
如果您想要在发送 HTML 格式的邮件的同时,也需要附加纯文本格式的邮件,可以使用 JavaMail API 中的 `Multipart` 类来实现。下面是一个示例代码: ```java // 创建邮件会话对象 Properties props = new Properties(); Session session = Session.getDefaultInstance(props); // 创建邮件对象 Message message = new MimeMessage(session); message.setFrom(new InternetAddress("[email protected]")); message.setRecipient(Message.RecipientType.TO, new InternetAddress("[email protected]")); message.setSubject("Test email"); // 创建 Multipart 对象,并将 HTML 和纯文本邮件添加到其中 Multipart multipart = new MimeMultipart(); BodyPart htmlBodyPart = new MimeBodyPart(); htmlBodyPart.setContent("<html><body><h1>Hello world!</h1></body></html>", "text/html"); multipart.addBodyPart(htmlBodyPart); BodyPart textBodyPart = new MimeBodyPart(); textBodyPart.setText("Hello world!"); multipart.addBodyPart(textBodyPart); // 将 Multipart 对象设置为邮件的内容 message.setContent(multipart); // 发送邮件 Transport.send(message); ``` 在这个示例中,我们首先创建一个邮件会话对象和一个邮件对象,并设置邮件的基本信息,如发送者、收件人和主题。 然后,我们创建一个 `Multipart` 对象,并将 HTML 和纯文本邮件添加到其中。为了创建纯文本邮件,我们使用 `MimeBodyPart` 类并调用 `setText()` 方法。 最后,我们将 `Multipart` 对象设置为邮件的内容,并使用 `Transport` 类的 `send()` 方法发送邮件。 这样,当收件人无法显示 HTML 格式的邮件时,也可以看到附带的纯文本邮件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值