javax.mail.MessagingException: Could not convert socket to TLS

报错代码

javax.mail.MessagingException: Could not convert socket to TLS;

nested exception is: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

首先有道翻译后看着好像是证书问题。然后百度了下。看到很多人遇到这些问题,就一个个试一下

原先获取 smtp 的写法

Properties props = new Properties();
props.put("mail.smtp.host", host);
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.auth", "true");

Session session = Session.getDefaultInstance(props);

后来试下加上了 代码(host是邮箱服务器地址),可以发送了。网上说的大概意思就是设置服务是可以信任的,不需要安全证书

props.put("mail.smtp.ssl.trust", host);

如果还不可以可能就是调用ssl加密 ,网上搜下怎么发送ssl加密的发送邮件方法

或者试试创建session的其他方法

Session session = Session.getInstance(props, new javax.mail.Authenticator()
{ protected PasswordAuthentication getPasswordAuthentication() {
    return new PasswordAuthentication(username, password); } }
);

原文地址:https://www.cnblogs.com/zjf6666/p/12616902.html

时间: 2024-11-05 20:24:58

javax.mail.MessagingException: Could not convert socket to TLS的相关文章

Java使用javax.mail.jar发送邮件并同意发送附件

因为Java在开发网页上占有绝大优势.所以作为web端的领军人物,譬如发送短信和发送邮件这些就成了必定,网络安全一再安全我们须要把账号的安全级别提到更高.因此这些对于开发者也就成了必须掌握的技能!我一直都认为作为开发者,不怕在开发的过程中遇到多少难题,而是有没有去解决它的勇气和决心,这里多学习就成为了关键,成为了一个程序员发展的重中之重!好啦.闲话就讲到这里.来点实际的. 当一个开发者工作到一定程度后,面向对象的思维就会一直在他的老子里环绕.所以我们先把邮件的常量类.实体类以及工具类等等先该封装

Java使用javax.mail.jar发送邮件

由于Java在开发网页上占有绝大优势,所以作为web端的领军人物,譬如发送短信和发送邮件这些就成了必然,网络安全一再安全我们需要把账号的安全级别提到更高!因此这些对于开发人员也就成了必须掌握的技能!我一直都觉得作为开发人员,不怕在开发的过程中遇到多少难题,而是有没有去解决它的勇气和决心,这里多学习就成为了关键,成为了一个程序猿发展的重中之重!好啦,闲话就说到这里,来点实际的! 当一个开发人员工作到一定程度后,面向对象的思维就会一直在他的老子里围绕!所以我们先把邮件的常量类.实体类以及工具类等等先

利用springframework+javax.mail发邮件(普通邮件、带附件邮件、HTML格式邮件)

Spring提供了发送电子邮件的支持,可以发送普通邮件.带附件邮件.HTML格式邮件,甚至还可以使用Velocity模板定制化邮件内容. 一.引入相关的库 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 <!-- spring核心库 -->         <dependency>             <groupId>org.springframework<

java使用javax.mail进行免费的邮件发送

1. 建议发送方使用阿里云邮箱https://mail.aliyun.com/,阿里云默认是开启个人邮箱pop3.smtp协议的,所以无需在阿里云邮箱里设置,pop3.smtp的密码默认邮箱登录密码,没有可以去申请一个. 如果要使用别的邮箱,可以自行查询对应邮箱怎么开启smtp协议. 2.pom.xml中引入javax.mail的jar包,这里使用1.4.7版本. <!-- javax mail --> <dependency> <groupId>javax.mail&

使用javax.mail包下的类实现发送邮件工具类

IDEA 依赖: <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </dependency> 模板实体类: package springbootdemo.demo.entity; /** * @author * @date 2019/8/19 21:58 */ pu

javax.mail

摘抄 1.首先定义一个邮件的数据结构类 public class EmailData() {      String from   = null;  //发件人      String[] recipients = null;  //收件人,可以多个      String subject   = null;  //邮件主题      String content   = null;  //邮件内容      String contentType  = null;  //邮件内容格式(文本或ht

完美解决 javax.mail.SendFailedException: 与 com.sun.mail.smtp.SMTPAddressFailedException: 抛错

由于某个模块用到程序运行完后,自动收集结果发送邮件给相关人等. 邮件里有个地址貌似出问题,导致所有的收件人都发送不出去. 抛出的错误如下: javax.mail.SendFailedException: Invalid Addresses; nested exception is: com.sun.mail.smtp.SMTPAddressFailedException: 550 5.7.1 Unable to relay for [email protected] at com.sun.mai

javax.mail 发邮件 添加附件

都是javax.mail 的使用,没有太多要讲的,代码贴上自己试验吧 private MimeMessage mailMessage; // 邮件对象 private Multipart mp;// 附件添加的组件 private List files = new LinkedList();// 存放附件文件 /** * 增加发送附件 * * @param filename * 邮件附件的地址,只能是本机地址而不能是网络地址,否则抛出异常 * @return */ public boolean

程序运行的时候NoClassDefFoundError: javax/mail/internet/ParseException

这个错误花费了4.5小时去找答案. 特此记录下步骤 先找到自己的artifacts目录 在D:\javapro\cmyjava\trunk\testpro\cmypro1\out\artifacts\cmypro1_war_exploded\WEB-INF里面建立一个文件夹lib 将E:\maven\locallib\javax\mail\mail\1.4里面的mail-1.4.jar复制到这个lib文件夹 project structor依赖里面添加一个目录