很久没更新博客了,今天记录一个问题。

我们开发了一个第三方邮箱的客户端,简单来说就是可以绑定邮箱,然后进行收发邮件。目前我还做不到像foxmail那样,用户填写了邮箱和密码,foxmail就可以自动识别出该邮箱收发邮件的服务器。我只能让用户去填写收发件服务器的相关配置。用户在绑定hotmail邮箱时,发现报了如下的错误(错误就不全部打印出来了)

javax.mail.MessagingException: Could not connect to SMTP host: smtp.office365.com, port: 587;
  nested exception is:
    javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
    at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2120)
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:712)
    at javax.mail.Service.connect(Service.java:366)
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:738)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at sun.security.ssl.InputRecord.handleUnknownRecord(InputRecord.java:710)

......................
    at sun.security.ssl.InputRecord.read(InputRecord.java:527)
    at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)
    at com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:598)
    at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:372)
    at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:217)
    at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2084)
    ... 27 more

主要问题在于“Unrecognized SSL message, plaintext connection?”,出现问题,我们看日志显示的,说是smtp服务器连接587端口时报错了。这样我们就可以定位是发件服务器配置填写的有问题。

修改方法:将发件服务器的SSL选项不要勾选。即JAVA代码里不要给Properties 添加以下属性

props.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
   props.setProperty("mail.smtp.socketFactory.fallback", "false");

通过这个我可以得出一个结论,就是只有当勾选SSL的时候,代码里才添加以上代码。这应该是hotmail邮箱587端口不支持SSL协议吧。

为了适应各个邮箱,我们可以判断一下,当SSL勾选了,就添加以上代码;如果未勾选就不添加这个属性。

即:

javamail写邮件/邮箱验证报错javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection相关推荐

  1. zabbix集成onealert验证报错:create media type failed! error message

    zabbix集成onealert验证报错:create media type failed! error message 一.报错详细信息 [root@host-10-10-6-20 bin]# ba ...

  2. jmeter 运行接口报javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection的解决方法

    今天上午,一位小伙伴(jmeter初学者)在自己抓包后,将接口放到jmeter中,进行接口测试时,出现这样的报错: javax.net.ssl.SSLException: Unrecognized S ...

  3. javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? HTTPS请求异常

    在Jmeter中压测https接口,请求抛出异常 javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? ...

  4. WebSphere启动时遇到javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?

    先说一下环境 一开始直接启动Eclipse,然后在Servers里启动WebSphere v9.0,遇到这个问题 SSL 接続を初期化できません. 無許可アクセスが拒否されたか.セキュリティー設定の有 ...

  5. 政务外网部署 minio上传下载报错 javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?

    起因:公司有个项目部署在客户服务器不能访问外网,使用的是http协议但是上传文件时候发现上传文件报错Unrecognized SSL message, plaintext connection? 原因 ...

  6. javaMail(javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection)

    本文来自: 高爽|Coder ,原文地址: http://blog.csdn.net/ghsau/article/details/17779165 ,转载请注明.        以这个错误信息为文章标 ...

  7. Docker Jenkins测试邮箱通知报错:553 Mail from must equal authorized user

    Docker Jenkins测试邮箱通知报错:553 Mail from must equal authorized user Failed to send out e-mailcom.sun.mai ...

  8. JavaMail实现简单邮箱验证——163邮箱

    最近的项目中遇到了这个问题,之前也并没有使用过JavaMail来实现邮箱验证,今天就来试一试. 需求: 当用户注册的时候,注册成功,向用户邮箱发送一个激活邮件,用户激活之后修改数据库中的状态,变为已激 ...

  9. IDEA在jsp页面写out.print()代码报错

    如题,小编以前用myeclipse,eclipse的时候,在jsp里写java代码都是可以的,现在我换成了IDEA,却莫名报错 而且没有代码提示,比如说下图这样的,,虽然运行还是能运行...但对强迫症 ...

最新文章

  1. Dialog 带白色的边的处理方法
  2. 程序员的比较工具大杂烩
  3. Ultrahaptics公司为Holodeck型触觉关闭了2300万美元的资金回合
  4. WC2007 石头剪刀布 数学+最小费用最大流
  5. OpenCV图像翻转:flip()函数的使用
  6. 678. 有效的括号字符串
  7. 高质高效软件开发组织能力模型
  8. 防止网页后退--禁止缓存
  9. RSA China 2011女嘉宾:用更好的武器应对带枪的敌人!
  10. 弱电工程项目经理部及各相关人员岗位职责
  11. PDM中BOM管理技术的研究及其应用
  12. Android Bmob
  13. 圆锥形怎么画_(艺考生必看)素描圆锥体怎么画?详解过程,想提高成绩的进来!...
  14. 【案例】绘制国际象棋棋盘?(turtle 登场)
  15. Windows 镂空图标,“百变硬汉”
  16. 大牛约翰·卡马克语录
  17. python训练opencb分类器_垃圾邮件分类.ipynb
  18. Java异常处理——日志打印
  19. 第8周上机实践项目5——定期存款利息计算器
  20. 最全的Apache Doris教程(收藏版)共9万+字【第一篇】由于是typora编写,有部分图片在本地,识别不出来,请细聊我

热门文章

  1. 基于Python Django实现Prometheus Exporter
  2. Tensorflow2.x框架-神经网络实现鸢尾花分类
  3. Nest+Vue实战:工作计划管理系统
  4. 微课竞赛系统的设计与实现所需工作条件_启升微课丨从软件设计开发着手准备医疗器械软件描述文档...
  5. OSChina 周日乱弹 ——颜值和代码水平是正比
  6. CVE-2020-1472: NetLogon特权提升漏洞通告
  7. 【ps功能精通】1.简单了解PS
  8. 我的世界java百度什么电脑玩好_【我的世界】为了在龙芯电脑上玩Minecraft(我的世界)我做了什么_玩得好游戏攻略...
  9. Scons入门指南 使用教程 笔记
  10. node-sass是什么?