使用mail发送邮件 报错找不到服务器

 /*** 背景* 在使用javamail进行邮件发送的时候,报错:* Could not connect to SMTP host: smtp.***.com, port: 465, response: -1* 原因:* 465端口是为SMTPS(SMTP-over-SSL)协议服务开放的,这是SMTP协议基于SSL安全协议之上的一种变种协议。* 解决:* 加上如下代码即可:*/props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");

扩展-邮件服务端口

25端口(SMTP):25端口为SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)服务所开放的,是用于发送邮件。

如今绝大多数邮件服务器都使用该协议。当你给别人发送邮件时,你的机器的某个动态端口(大于1024)就会与邮件服务器的25号端口建立一个连接,你发送的邮件就会通过这个连接传送到邮件服务器上,保存起来。

109端口(POP2):109端口是为POP2(Post Office Protocol Version 2,邮局协议2)服务开放的,是用于接收邮件的。

110端口(POP3):110端口是为POP3(Post Office Protocol Version 3,邮局协议3)服务开放的,是用于接收邮件的。

143端口(IMAP):143端口是为IMAP(INTERNET MESSAGE ACCESS PROTOCOL)服务开放的,是用于接收邮件的。

目前POP3使用的比POP2广得多,POP2几乎被淘汰,也有某些服务器同时支持POP2和POP3协议。客户端可以使用POP3协议来访问服务端的邮件服务,如今ISP的绝大多数邮件服务器都是使用POP3协议(极少用POP2协议)。在使用邮件客户端程序的时候,会要求输入POP3服务器地址,默认情况下使用的就是110端口。当你用邮件客户端(比如、Thunderbird、foxmail、MS Outlook Express以及各类邮件精灵)登录时,你的机器就会自动用机器的某一个动态端口(大于1024)连接邮件服务器的110端口,服务器就把别人给你发的邮件(之前保存在邮件服务器上),发送到你机器,这样你就可以看到你客户端工具上的收件箱里的新邮件了。

IMAP协议,和POP3协议一样是用来接收邮件的,但是它有它的特别和新颖之处,它是面向用户的,它和POP3协议的主要区别是:用户可以不用把所有的邮件内容全部下载,而是只下载邮件标题和发件人等基本信息,用户可以由标题等基本信息,去决定是否下载邮件全文,用户可以通过客户端的浏览器直接对服务器上的邮件进行操作(比如:打开阅读全文、丢进垃圾箱、永久删除、整理到某文件夹下、归档、)。再简单来说就是:浏览器用的IMAP协议(143端口)来为你接收邮件以及让你很方便的操作服务器上的邮件。邮件客户端用的POP3协议(110端口)来为你接收邮件的全部信息和全文内容保存到你的本地机器成为一个副本,你对邮件客户端上的副本邮件的任何操作都是在副本上,不干涉邮件服务器上为你保存的邮件原本。

上面介绍的SMTP协议、POP2协议、POP3协议、IMAP协议都是不安全的协议。因考虑到网络安全的因素,下面给你介绍基于SSL(Secure Sockets Layer 安全套接层)协议的安全的邮件收发协议。你的邮件在传输过程中可能被网络黑客截取邮件内容,如果你的邮件机密性非常强,不想被收件人以外的任何人和任何黑客截取,或者是涉及国家机密安全的,等等。那么你的邮件就不该使用上述的三种协议进行收发。

若你采用SMTP协议发邮件,那么你发出的邮件从你的机器传到服务器的过程中,可能被黑客截取从而泄露。****若你采用POP2或者POP3协议收取邮件,那么你的邮件从服务器传至你当前机器的过程可能被黑客截取从而泄露。

465端口(SMTPS):465端口是为SMTPS(SMTP-over-SSL)协议服务开放的,这是SMTP协议基于SSL安全协议之上的一种变种协议,它继承了SSL安全协议的非对称加密的高度安全可靠性,可防止邮件泄露。SMTPS和SMTP协议一样,也是用来发送邮件的,只是更安全些,防止邮件被黑客截取泄露,还可实现邮件发送者抗抵赖功能。防止发送者发送之后删除已发邮件,拒不承认发送过这样一份邮件。

995端口(POP3S):995端口是为POP3S(POP3-over-SSL)协议服务开放的,这是POP3协议基于SSL安全协议之上的一种变种协议,它继承了SSL安全协议的非对称加密的高度安全可靠性,可防止邮件泄露。POP3S和POP3协议一样,也是用来接收邮件的,只是更安全些,防止邮件被黑客截取泄露,还可实现邮件接收方抗抵赖功能。防止收件者收件之后删除已收邮件,拒不承认收到过这样一封邮件。

993端口(IMAPS):993端口是为IMAPS(IMAP-over-SSL)协议服务开放的,这是IMAP协议基于SSL安全协议之上的一种变种协议,它继承了SSL安全协议的非对称加密的高度安全可靠性,可防止邮件泄露。IMAPS和IMAP协议一样,也是用来接收邮件的,只是更安全些,防止邮件被黑客截取泄露,还可实现邮件接收方抗抵赖功能。防止收件者收件之后删除已收邮件,拒不承认收到过这样一封邮件。


或者配一下 ssl的属性:

props.setProperty("mail.smtp.ssl.enable", bundle.getString("mail.smtp.ssl.enable"));
mail.properties:
mail.smtp.ssl.enable=true

使用mail发送邮件 报错找不到服务器Could not connect to SMTP host: smtp.***.com, port: 465, response: -1相关推荐

  1. SpringBoot发送邮件报错:Got bad greeting from SMTP host: smtp.exmail.qq.com, port: 465, response: [EOF]

    错误 Got bad greeting from SMTP host: smtp.exmail.qq.com, port: 465, response: [EOF] 原配置: spring:mail: ...

  2. SQL Server调用Database Mail发送邮件报错:Msg 229, Level 14, State 5, Procedure sp_send_dbmail, Line 1 EXECUTE

     新的账号有使用表Tigger调用Database Mail发送邮件时报错:Msg 229, Level 14, State 5, Procedure sp_send_dbmail, Line 1 ...

  3. 使用叶神模拟器无法访问本机服务器的问题(报错:java.net.ConnectException: failed to connect to /127.0.0.1 (port 5000) )

    最近打算用夜神模拟器来和本机服务器做一些信息交互的功能,但是服务器搭建好了,用叶神模拟器却无法访问.折腾了大半天才发现原来是模拟器的问题. 具体过程如下: 搭建好服务器后,在本机上访问"ht ...

  4. 发邮件报Failed to send email: Could not connect to SMTP host: smtp.exmail.qq.com, port: 465, response:-1

    我这里使用的是腾讯企业邮箱,原先设置的邮箱端口号是465,使用脚本自动发送邮件时,每次都报端口错误,经过,网上各种查找,将465换成了587,再次运行,即可成功:

  5. eclipse找不到java方法,Linux启动eclipse报错找不到java环境解决方法

    在Linux mint下,前几天还用得很好的的eclipse,今天开机不知为什么这样. Eclipse 3.6 在 linux mint 12 可以在终端顺利启动Eclipse,但是鼠标双击,或者用起 ...

  6. 写定时任务发送邮件报错(Could not connect to SMTP host:smtp.exmail.qq.com,port:465)

    需求阐述 在写完定时任务发送邮件之后,调试的时候发现报错:Could not connect to SMTP host:smtp.exmail.qq.com,port:465.一开始我以为是在for循 ...

  7. java报错-找不到或无法加载主类(Error: Could not find or load main class)

    此文首发于我的个人博客:java报错-找不到或无法加载主类(Error Could not find or load main class) - zhang0peter的个人博客 比如说test.ja ...

  8. android 上传到了maven,但是报错找不到jar

    报错: * What went wrong: Could not resolve all files for configuration ':iReader:VivoDebugCompileClass ...

  9. salt '*' state.highstate 报错找不到文件,环境如下No Top file or master_tops data matches found....

    salt '*' state.highstate 报错找不到文件,环境如下No Top file or master_tops data matches found. file_roots:    b ...

最新文章

  1. 利用RGB-D数据进行人体检测 带dataset
  2. python字符串find函数-python常见字符串处理函数与用法汇总
  3. python copytree_python shutil.copytree 强制复制目录,源目录存在且有多个文件替代方案....
  4. Java生成CSV文件
  5. 如何不部署Keras / TensorFlow模型
  6. mysql cascade|restrict|no action|set null__mysql 外键的几种约束
  7. cocos2d-x中使用Http
  8. videojs中文文档详解_你的项目需要一个高质量README文档!
  9. Apache+php 在windows下的配置
  10. SQLServer的本月统计和本周统计
  11. 武汉好地科技为您解析CMMI3和CMMI5的区别
  12. IOS 10.3.3 越狱
  13. react 命名规范 书写顺序
  14. 算法习题---5-3卡牌游戏(UVa10935)
  15. 力扣(13.278)补8.23
  16. java游戏主角叶开,逸之老板的天机城与叶开大神女魃墓,决赛场上谁更抢眼?...
  17. 自动驾驶专题介绍 ———— 转向系统
  18. 1833. 雪糕的最大数量【C++】
  19. STM32 GD32 CAN调试调试调试
  20. 【OS Pintos】Project1 项目要求说明 | 进程中止信息 | 参数传递 | 用户内存访问 | 有关项目实现的建议

热门文章

  1. 计算机中丢失MSVCP140.dll无法启动此程序怎么办
  2. 一言不合就给大家发数字货币量化和策略的干货啦~
  3. 微信Token验证的——C#
  4. Accessible only as active check
  5. 流程图软件lauto_Iauto免费版下载|Iauto(流程图软件) v2.6.0官方版 - 万方软件下载站...
  6. 微信域名拦截(微信内打不开网址)解决方法
  7. 使用VScode调试与编写bash脚本
  8. 短视频自媒体5大必备工具,新手抓紧收藏,让你事半功倍
  9. Struts2 S标签 数字格式化成金额输出
  10. uuid获取java_JAVA代码获取UUID