问题描述

hutool.version:5.7.9
mail.version:1.5.0-b01
利用hutool配置发送邮件,ssl认证也打开了,jdk下面的jre/lib/security/java.security文件中相关的ssl信息也去掉了,但是还是报错:
MessagingException: Could not connect to SMTP host: mail.seis.ac.cn, port: 465

网上大部分解决办法就是上面两种,下面分享第三种情况:

解决方案:

提示:MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
account.setCustomProperty(“mail.smtp.ssl.socketFactory”,sf);

// 完整代码

    public static void send(EmailVo emailVo, EmailConfig emailConfig){if(emailConfig.getId() == null){throw new BadRequestException("请先配置,再操作");} // 封装MailAccount account = new MailAccount();account.setHost(emailConfig.getHost());account.setUser(emailConfig.getUser());account.setPass(emailConfig.getPass());account.setPort(Integer.parseInt(emailConfig.getPort()));account.setFrom(emailConfig.getFromUser()+"<"+emailConfig.getFromUser()+">");//启动调试account.setDebug(true);// 开启SSL安全连接account.setAuth(true);account.setSslEnable(true);String content = emailVo.getContent();// 发送try {MailSSLSocketFactory sf = new MailSSLSocketFactory();sf.setTrustAllHosts(true);account.setCustomProperty("mail.smtp.ssl.socketFactory",sf);//指定实现javax.net.SocketFactory接口的类的名称,这个类将被用于创建SMTP的套接字account.setSocketFactoryClass("javax.net.ssl.SSLSocketFactory");//如果设置为true,未能创建一个套接字使用指定的套接字工厂类将导致使用java.net.Socket创建的套接字类, 默认值为trueaccount.setSocketFactoryFallback(true);// 指定的端口连接到在使用指定的套接字工厂。如果没有设置,将使用默认端口456account.setSocketFactoryPort(465);int size = emailVo.getTos().size();Mail mail = Mail.create(account).setTos(emailVo.getTos().toArray(new String[size])).setTitle(emailVo.getSubject()).setContent(content).setHtml(true)//关闭session.setUseGlobalSession(false);if (emailVo.getFile() != null)mail.setFiles(emailVo.getFile());mail.send();}catch (Exception e){System.out.println(e.getMessage());throw new RuntimeException(e.getMessage());}
}

利用hutool配置发送邮件MessagingException异常处理相关推荐

  1. 【转蝈蝈俊.net 】SQL Server 2005 配置发送邮件

    SQL Server 2005 配置发送邮件 这个教程是使用SQL Server Management Studio的管理工具完成配置的,其实这个配置也可以通过一系列的SQL语句完成配置. 使用SQL ...

  2. php模拟登录qq邮箱_PHP 利用QQ邮箱发送邮件的实现

    这篇文章主要介绍了关于PHP 利用QQ邮箱发送邮件的实现,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下在 PHP 应用开发中,往往需要验证用户邮箱.发送消息通知,而使用 PHP 内置的 ...

  3. php smtp邮件类,php利用smtp类发送邮件

    本篇文章主要介绍php利用smtp类发送邮件,感兴趣的朋友参考下,希望对大家有所帮助. 以下就是核心代码:<?php require_once "email.class.php&quo ...

  4. 利用hutool实现邮件发送功能

    如何利用hutool工具包实现邮件发送功能呢? 1.首先引入hutool依赖 <dependency><groupId>cn.hutool</groupId>< ...

  5. 内网邮件JAVA535报错_利用网易邮箱发送邮件535报错处理

    相信看到535报错的同学代码编写方面都没有问题,只是不明白为什么填写了帐号密码后还是报535错误,使用网易的126或者163邮箱都会有如此问题. Python报错如下: Traceback (most ...

  6. 利用外部邮箱发送邮件的方法

    利用外部邮箱发送邮件的方法 bin/mail会默认使用本地sendmail发送邮件,这样要求本地的机器必须安装和启动Sendmail服务,配置非常麻烦,而且会带来不必要的 资源占用.而通过修改配置文件 ...

  7. ABP VNext 利用QQ邮箱发送邮件

    ABP VNext 利用QQ邮箱发送邮件 1.配置邮箱 1.1 设置 1.2账户 1.3 开启邮箱服务 1.4 生成授权码 2 默认的SmtpEmailSender发送邮件 2.1 生成数据库 2.2 ...

  8. MySQL单机多实例部署详解之------利用mysqld_multi配置实现

    一.mysql多实例的原理 mysql多实例,简单的说,就是在一台服务器上开启多个不同的mysql服务端口(如3306,3307),运行多个mysql服务进程.这些服务进程通过不同的socket监听不 ...

  9. Spring第三讲:利用注解配置类取代Spring的配置文件

    一.上次学习的内容 上次的学习了利用组注解符精简Spring配置文件 二.今天要学习的内容 (1)利用注解配置类取代Spring的配置文件 三.实现步骤 (一)运行测试我们上次做的项目的代码是否完整, ...

最新文章

  1. Android 插件框架机制之Small
  2. MySQL MHA 安装
  3. go nocopy 不可复制的实现
  4. 95-170-044-源码-Time-flink时间Processing Time源码分析
  5. webrequest HttpWebRequest webclient/HttpClient
  6. 不理解 Java Steam?一步步梳理其工作方式
  7. 企业如何从0到1搭建BI系统
  8. Android动态生成答题卡,好分数网怎么制作答题卡
  9. echarts迁徙图 vue_vue中使用 echarts3.0 或 echarts2.0 (模拟迁徙图,折线图)
  10. C# 插入、删除Excel分页符
  11. python制作动态二维码步骤_七夕 | 如何用Python制作动态二维码,来哄女朋友开心?...
  12. fullCalendar日程表在Vue项目中的应用
  13. 小飞升值记——(4)
  14. 路由器配置出现192.168.1.0 overlaps with Vlan2的解决方案
  15. CC2630 7x7 更改为5X5
  16. 首都经贸大学计算机科学与技术专业,河北经贸大学经济管理学院的计算机科学与技术专业怎么样啊...
  17. RPG游戏-道具系统
  18. bzoj 3811: 玛里苟斯
  19. 一个资深程序员成功的背后
  20. 【代码相关-ROS】利用小觅采集的rosbag,制作双目图像集,跑orbslam2

热门文章

  1. Ribbon开启饥饿加载
  2. 一分钟学一个 Linux 命令 - ls
  3. Visual Word Ambiguity(一妻多夫,妇女解放)
  4. 数据库四级知识点总结
  5. C++实现 试题 算法训练 步与血
  6. 汉源高科工业级光纤收发器百兆1光4电钉轨式IP网络光电转换器
  7. 使用 nodejs 和 ElasticSearch 快速搭建全文检索
  8. ShareSDK分享集成详细过程
  9. 旋转卡壳——凸多边形直径
  10. Golang标准库中的fmt