利用hutool配置发送邮件MessagingException异常处理
问题描述
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异常处理相关推荐
- 【转蝈蝈俊.net 】SQL Server 2005 配置发送邮件
SQL Server 2005 配置发送邮件 这个教程是使用SQL Server Management Studio的管理工具完成配置的,其实这个配置也可以通过一系列的SQL语句完成配置. 使用SQL ...
- php模拟登录qq邮箱_PHP 利用QQ邮箱发送邮件的实现
这篇文章主要介绍了关于PHP 利用QQ邮箱发送邮件的实现,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下在 PHP 应用开发中,往往需要验证用户邮箱.发送消息通知,而使用 PHP 内置的 ...
- php smtp邮件类,php利用smtp类发送邮件
本篇文章主要介绍php利用smtp类发送邮件,感兴趣的朋友参考下,希望对大家有所帮助. 以下就是核心代码:<?php require_once "email.class.php&quo ...
- 利用hutool实现邮件发送功能
如何利用hutool工具包实现邮件发送功能呢? 1.首先引入hutool依赖 <dependency><groupId>cn.hutool</groupId>< ...
- 内网邮件JAVA535报错_利用网易邮箱发送邮件535报错处理
相信看到535报错的同学代码编写方面都没有问题,只是不明白为什么填写了帐号密码后还是报535错误,使用网易的126或者163邮箱都会有如此问题. Python报错如下: Traceback (most ...
- 利用外部邮箱发送邮件的方法
利用外部邮箱发送邮件的方法 bin/mail会默认使用本地sendmail发送邮件,这样要求本地的机器必须安装和启动Sendmail服务,配置非常麻烦,而且会带来不必要的 资源占用.而通过修改配置文件 ...
- ABP VNext 利用QQ邮箱发送邮件
ABP VNext 利用QQ邮箱发送邮件 1.配置邮箱 1.1 设置 1.2账户 1.3 开启邮箱服务 1.4 生成授权码 2 默认的SmtpEmailSender发送邮件 2.1 生成数据库 2.2 ...
- MySQL单机多实例部署详解之------利用mysqld_multi配置实现
一.mysql多实例的原理 mysql多实例,简单的说,就是在一台服务器上开启多个不同的mysql服务端口(如3306,3307),运行多个mysql服务进程.这些服务进程通过不同的socket监听不 ...
- Spring第三讲:利用注解配置类取代Spring的配置文件
一.上次学习的内容 上次的学习了利用组注解符精简Spring配置文件 二.今天要学习的内容 (1)利用注解配置类取代Spring的配置文件 三.实现步骤 (一)运行测试我们上次做的项目的代码是否完整, ...
最新文章
- Android 插件框架机制之Small
- MySQL MHA 安装
- go nocopy 不可复制的实现
- 95-170-044-源码-Time-flink时间Processing Time源码分析
- webrequest HttpWebRequest webclient/HttpClient
- 不理解 Java Steam?一步步梳理其工作方式
- 企业如何从0到1搭建BI系统
- Android动态生成答题卡,好分数网怎么制作答题卡
- echarts迁徙图 vue_vue中使用 echarts3.0 或 echarts2.0 (模拟迁徙图,折线图)
- C# 插入、删除Excel分页符
- python制作动态二维码步骤_七夕 | 如何用Python制作动态二维码,来哄女朋友开心?...
- fullCalendar日程表在Vue项目中的应用
- 小飞升值记——(4)
- 路由器配置出现192.168.1.0 overlaps with Vlan2的解决方案
- CC2630 7x7 更改为5X5
- 首都经贸大学计算机科学与技术专业,河北经贸大学经济管理学院的计算机科学与技术专业怎么样啊...
- RPG游戏-道具系统
- bzoj 3811: 玛里苟斯
- 一个资深程序员成功的背后
- 【代码相关-ROS】利用小觅采集的rosbag,制作双目图像集,跑orbslam2