前言

  • spring boot 2.0.0.RELEASE
  • spring 5.0.4.RELEASE
  • 网易企业邮箱 2019年版
  • jdk 1.8

发邮件的说明

按照加密方式方式,可以分为:

  • 明文
  • TLS加密
  • SSL加密

发送明文

发送明文邮件时,需要设置好:

  • 协议(默认是smtp,可不用设置)
  • host
  • 端口(默认是25)
  • 用户名
  • 密码
  • 开启身份验证(mail.smtp.auth=true)

网易企业邮箱 不再支持明文邮件了。使用此种方式调用时,会获得错误:535 5.7.0 ERR.LOGIN.NONSSL

JavaMailSenderImpl发送邮件,示例代码如下:

public class TestSendMail1 {private static Logger log = LoggerFactory.getLogger(TestSendMail1.class);public static void main(String[] args) throws Exception {JavaMailSenderImpl mailSender = new JavaMailSenderImpl();mailSender.setHost("smtphz.qiye.163.com");mailSender.setPort(25);mailSender.setUsername("xxx@mydomain.com");mailSender.setPassword("123456");Properties javaMailProperties = mailSender.getJavaMailProperties();javaMailProperties.setProperty("mail.smtp.auth", "true"); javaMailProperties.setProperty("mail.debug", "true");//启用调试javaMailProperties.setProperty("mail.smtp.timeout", "3000"); //设置超时时间3秒mailSender.setJavaMailProperties(javaMailProperties);try{MimeMessage mailMessage = mailSender.createMimeMessage();MimeMessageHelper helper = new MimeMessageHelper(mailMessage, true, "UTF-8");helper.setFrom("xxx@mydomain.com");helper.setTo("xxx@mydomain.com");helper.setSubject("测试邮件:您有一个新的未处理消息(使用明文发送)");helper.setText(String.format("hi,%s: <br/><br/><br/>很高兴认识你!", "张三"), true);mailSender.send(mailMessage);}catch (Exception e) {log.error("发送邮件失败", e);}}}

springboot mail插件发送邮件,配置如下(示例代码在后面):

spring.mail.host=smtphz.qiye.163.com
spring.mail.username=xxx@mydomain.com
spring.mail.password=123456
spring.mail.port=25
spring.mail.protocol=smtp
spring.mail.default-encoding=UTF-8
spring.mail.properties.mail.smtp.timeout=3000
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.debug=true
spring.mail.properties.mail.smtp.ssl.enable=false
spring.mail.properties.mail.imap.ssl.socketFactory.fallback=false
spring.mail.properties.mail.smtp.ssl.socketFactory.class=javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.smtp.starttls.enable=false
spring.mail.properties.mail.smtp.starttls.required=false

TLS加密

发送明文邮件时,需要设置好:

  • 协议(默认是smtp,可不用设置)
  • host
  • 端口(默认情况下,TLS加密使用25端口)
  • 用户名
  • 密码
  • 开启身份验证(mail.smtp.auth=true)
  • 支持TLS加密(mail.smtp.starttls.required = true)

TLS加密使用25端口 ! TLS加密使用25端口 ! TLS加密使用25端口!

JavaMailSenderImpl发送邮件,示例代码如下:

public class TestSendMail2 {private static Logger log = LoggerFactory.getLogger(TestSendMail2.class);public static void main(String[] args) throws Exception {JavaMailSenderImpl mailSender = new JavaMailSenderImpl();mailSender.setHost("smtphz.qiye.163.com");mailSender.setPort(25);mailSender.setUsername("xxx@mydomain.com");mailSender.setPassword("123456");Properties javaMailProperties = mailSender.getJavaMailProperties();javaMailProperties.setProperty("mail.smtp.auth", "true"); javaMailProperties.setProperty("mail.debug", "true");//启用调试javaMailProperties.setProperty("mail.smtp.timeout", "3000"); //设置超时时间3秒javaMailProperties.setProperty("mail.smtp.starttls.enable", "true");javaMailProperties.setProperty("mail.smtp.starttls.required", "true");javaMailProperties.setProperty("mail.smtp.ssl.enable", "false");javaMailProperties.setProperty("mail.imap.ssl.socketFactory.fallback", "false");javaMailProperties.setProperty("mail.smtp.ssl.socketFactory.class", "javax.net.ssl.SSLSocketFactory");mailSender.setJavaMailProperties(javaMailProperties);try{MimeMessage mailMessage = mailSender.createMimeMessage();MimeMessageHelper helper = new MimeMessageHelper(mailMessage, true, "UTF-8");helper.setFrom("xxx@mydomain.com");helper.setTo("xxx@mydomain.com");helper.setSubject("测试邮件:您有一个新的未处理消息(使用TLS加密发送)");helper.setText(String.format("hi,%s: <br/><br/><br/>很高兴认识你!", "张三"), true);mailSender.send(mailMessage);}catch (Exception e) {log.error("发送邮件失败", e);}}}

springboot mail插件发送邮件,配置如下(示例代码在后面):

spring.mail.host=smtphz.qiye.163.com
spring.mail.username=xxx@mydomain.com
spring.mail.password=123456
spring.mail.port=25
spring.mail.protocol=smtp
spring.mail.default-encoding=UTF-8
spring.mail.properties.mail.smtp.timeout=3000
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.debug=true
spring.mail.properties.mail.smtp.ssl.enable=false
spring.mail.properties.mail.imap.ssl.socketFactory.fallback=false
spring.mail.properties.mail.smtp.ssl.socketFactory.class=javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.smtp.starttls.enable=false
spring.mail.properties.mail.smtp.starttls.required=true

SSL加密

发送明文邮件时,需要设置好:

  • 协议(默认是smtp,可不用设置)
  • host
  • 端口(默认情况下,SSL加密使用456端口)
  • 用户名
  • 密码
  • 开启身份验证(mail.smtp.auth=true)
  • 支持SSL加密(mail.smtp.ssl.enable = true)

网易企业邮箱 SSL 端口994

JavaMailSenderImpl发送邮件,示例代码如下:

public class TestSendMail3 {private static Logger log = LoggerFactory.getLogger(TestSendMail3.class);public static void main(String[] args) throws Exception {JavaMailSenderImpl mailSender = new JavaMailSenderImpl();mailSender.setHost("smtphz.qiye.163.com");mailSender.setPort(994);mailSender.setUsername("xxx@mydomain.com");mailSender.setPassword("123456");Properties javaMailProperties = mailSender.getJavaMailProperties();javaMailProperties.setProperty("mail.smtp.auth", "true"); javaMailProperties.setProperty("mail.debug", "true");//启用调试javaMailProperties.setProperty("mail.smtp.timeout", "3000"); //设置超时时间3秒javaMailProperties.setProperty("mail.smtp.starttls.enable", "false");javaMailProperties.setProperty("mail.smtp.starttls.required", "false");javaMailProperties.setProperty("mail.smtp.ssl.enable", "true");javaMailProperties.setProperty("mail.imap.ssl.socketFactory.fallback", "false");javaMailProperties.setProperty("mail.smtp.ssl.socketFactory.class", "javax.net.ssl.SSLSocketFactory");mailSender.setJavaMailProperties(javaMailProperties);try{MimeMessage mailMessage = mailSender.createMimeMessage();MimeMessageHelper helper = new MimeMessageHelper(mailMessage, true, "UTF-8");helper.setFrom("xxx@mydomain.com");helper.setTo("xxx@mydomain.com");helper.setSubject("测试邮件:您有一个新的未处理消息(使用SSL加密发送)");helper.setText(String.format("hi,%s: <br/><br/><br/>很高兴认识你!", "张三"), true);mailSender.send(mailMessage);}catch (Exception e) {log.error("发送邮件失败", e);}}}

springboot mail插件发送邮件,SSL加密,配置如下(示例代码在后面):

spring.mail.host=smtphz.qiye.163.com
spring.mail.username=xxx@mydomain.com
spring.mail.password=123456
spring.mail.port=25
spring.mail.protocol=smtp
spring.mail.default-encoding=UTF-8
spring.mail.properties.mail.smtp.timeout=3000
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.debug=true
spring.mail.properties.mail.smtp.ssl.enable=true
spring.mail.properties.mail.imap.ssl.socketFactory.fallback=false
spring.mail.properties.mail.smtp.ssl.socketFactory.class=javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.smtp.starttls.enable=false
spring.mail.properties.mail.smtp.starttls.required=false

springboot mail插件发送邮件 示例

@RunWith(SpringRunner.class)
@SpringBootTest(classes=Application.class)
@TestPropertySource("classpath:application-TestSendMail3.properties")
public class TestSendMail4 {private Logger log = LoggerFactory.getLogger(TestSendMail4.class);@Autowiredprivate JavaMailSenderImpl mailSender;@Testpublic void test01() {try{MimeMessage mailMessage = mailSender.createMimeMessage();MimeMessageHelper helper = new MimeMessageHelper(mailMessage, true, "UTF-8");helper.setFrom("xxx@mydomain.com");helper.setTo("xxx@mydomain.com");helper.setSubject("测试邮件:您有一个新的未处理消息(使用 spring boot 发送)");helper.setText(String.format("hi,%s: <br/><br/><br/>很高兴认识你!", "张三"), true);mailSender.send(mailMessage);}catch (Exception e) {log.error("发送邮件失败", e);}}}

application-TestSendMail3.properties

spring.mail.host=smtphz.qiye.163.com
spring.mail.username=xxx@mydomain.com
spring.mail.password=123456
spring.mail.port=25
spring.mail.protocol=smtp
spring.mail.default-encoding=UTF-8
spring.mail.properties.mail.smtp.timeout=3000
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.debug=true
spring.mail.properties.mail.smtp.ssl.enable=false
spring.mail.properties.mail.imap.ssl.socketFactory.fallback=false
spring.mail.properties.mail.smtp.ssl.socketFactory.class=javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.smtp.starttls.enable=false
spring.mail.properties.mail.smtp.starttls.required=true

其它

网易企业邮箱从这里 查协议、host、端口

https://qiye.163.com/help/client.html?device=pc

网易企业邮箱错误码: 420 ERR.LOGIN.DOMAINNOTEXIST 错误

查到的host不对。按照前面的说明查host。

网易企业邮其它错误码

"ERR.LOGIN.USERORPASSNULL":"参数错误:用户名或者密码为空",
"ERR.LOGIN.DOMAINNULL":"参数错误:未指定的域邮箱参数",
"ERR.LOGIN.PASSERR":"用户名和密码不匹配",
"ERR.LOGIN.ILLEGALACCOUNT":"该帐号属于群发名单或者别名,不允许登录",
"ERR.LOGIN.USERNOTEXIST":"该帐号不存在,请你确认域名和帐号",
"ERR.LOGIN.SUPERADMINDOMAINERR":"该超级管理员并未申请任何域名邮箱",
"ERR.LOGIN.SYSTEMBUSY":"登录系统繁忙,请你稍后再试",
"ERR.LOGIN.IPDENY":"登录失败,你的IP在黑名单中,请你联系客服",
"ERR.LOGIN.USRSTATUS1":"该帐号已被禁用,请联系管理员",
"ERR.LOGIN.USRSTATUS2":"帐号已过期,请联系管理员",
"ERR.LOGIN.USRSTATUS5":"该帐号已被管理员删除,请联系管理员",
"SUC.LOGIN.USRUNLOCK":"该帐号已解除冻结状态,请你再次输入用户和密码继续",
"ERR.LOGIN.DOMAINEXPED":"该域名邮箱已经过期了",
"ERR.LOGIN.DOMAINNOTREGISTER":"该域名尚未通过,请以超级管理员登录",
"ERR.LOGIN.DOMAINSTATUS1":"该域名邮箱已被禁用,请你联系客服",
"ERR.SESSIONNULL":"会话已经失效,请你重新登录操作",
"ERR.SYSTEM":"系统繁忙,请你稍后再试",
"ERR.ADMINREQUIRE":"非法权限,该帐号无法执行这个操作",
"ERR.PARAMNULL":"系统发生错误:参数为空",
"ERR.ERR.PARAMTOOLONG":"参数过长",
"ERR.ILLEGAL":"系统非法操作"。

springboot mail插件/JavaMailSenderImpl 发邮件。163网易企业邮箱调用的坑。相关推荐

  1. 网易企业邮箱删除的的邮件服务器,网易企业邮箱进行全选删除移动操作步骤说明...

    使用问题 您的位置: 首页> 使用问题 网易企业邮箱进行全选删除移动操作步骤说明 发布时间:2019-04-15 使用万网企业邮箱webmail时,如对现有邮件需要删除,可参考以下不同删除邮件方 ...

  2. 7z001怎么解压在安卓手机上面_安卓手机怎么设置网易企业邮箱

    安卓手机怎么设置企业邮箱?电子邮箱只要绑定在移动端的邮件客户端上,都可以移动办公的.需要更多功能的话还是可以使用网易邮箱大师,支持 iOS 和安卓平台,因为邮箱的收发信这些流程都优化了,所以它的实际流 ...

  3. 网易企业邮箱优势功能

    163网易企业邮箱是国内企业邮箱知名的优秀企业邮箱品牌,到底网易企业邮箱邮箱有哪些亮点功能呢? 今天笔者将给大家从以下6个方面说明: 企业管理类:域名管理.同名不同域.全新企业网盘.自定义欢迎信.邮件 ...

  4. 网易企业邮箱:公司可以监控员工的邮箱吗?

    公司能监控员工的邮箱吗?理论上来说是可以的,利用在电脑中安装的监控软件,就可以知道是谁登录了什么邮箱,给谁发了邮件. 不过,一般的网管监控软件只可以监控个人所访问的网站网址及访问的流量.至于邮件内容, ...

  5. 网易企业邮箱 跟Thunderbird 雷鸟 e mail 客户端发邮件有冲突,发双份 解决方法很简单(图)

    问题:用Thunderbird 客户端和网易企业邮箱,发一份邮件时发件箱里显示发了两封,有点头疼哦,客服也没有给出明确答复:而且在修改各种配置是干脆无法发送邮件了,后来下载了最新版Thunderbir ...

  6. 网易企业邮箱:给国外公司发邮件用什么邮箱?

    给国外公司发邮件用什么邮箱?与国外客户打交道的话,经常免不了发送邮件.海外邮件的收发环境复杂,导致邮件退信与丢失的因素较多.因此,选用具有海外智能中继功能的专业企业邮箱非常重要,例如网易企业邮箱 (h ...

  7. 网易企业邮箱用Python发邮件

    如何用Python发送邮件网上一大堆 163,qq,阿里···各种邮箱,只要换个smtp地址通通都能发,关键就在smtp 网易企业邮箱smtp(网上找了一大圈都是"smtp.163.com& ...

  8. Java实战-用Java mail实现Exchange发邮件给你喜欢的人

    目录 1. 官方指导文章 2. 需要用到com.microsoft.ews-java-api 2.1 maven中添加 2.2 gradle中添加 3. 完整代码:新建一个MailUtil.java类 ...

  9. 163邮箱有传真服务器,网易企业邮箱邮件传真功能使用说明

    网易企业邮箱邮件传真功能是网易在用户购买网易企业邮箱时附赠的增值服务,管理员通过在企业邮箱管理后台给员工邮箱设置邮件传真号码,员工便可在WebMail直接收发电子传真,无需通过传真机.此功能需要联系经 ...

最新文章

  1. 腾讯!阿里!大二男生斩获4家头部科技公司实习offer!凭啥?
  2. 多目标跟踪2021总结
  3. 数据库ORA-03113排查
  4. pagefile.sys
  5. 6. 堪比JMeter的.Net压测工具 - Crank 实战篇 - 收集诊断跟踪信息与如何分析瓶颈
  6. NET问答: String 和 string 到底有什么区别?
  7. [Beego] 内置的模板函数(不同格式的字符串和html的互转)
  8. logger异常日志要点总结
  9. npm换成国内源 npm换源 npm换淘宝源镜像
  10. python pyd_python解析.pyd文件
  11. MySQL 常用基础命令
  12. Flume学习应用:Java写日志数据到MongoDB
  13. IPv6的地址表达形式
  14. 华为AC6605二层组网,配置无线漫游
  15. 【汇编程序】实现输出2012-2100年之间所有闰年
  16. 固实压缩文件容易损坏_winrar应用:创建分卷固实压缩带恢复记录的压缩文件 [原创]...
  17. ijkplayer播放器
  18. 十行代码帮你迅速回应大家的祝福,你可以安心抢红包了~
  19. 初创企业如何选购企业邮箱?
  20. win10删除文件夹需要提供管理员权限(实测可用超简单方法)

热门文章

  1. 判断JavaScript对象为null或者属性为空
  2. Java可视化编程,基于布局管理器的UI设计
  3. Go语言 - 忍不了了!!!已将Go语言各标准包文档.移到自己服务器上
  4. eclipse中svn和TortoiseSVN更改账号的方法
  5. Selenium无法点击元素,报错:ElementClickInterceptedException:element click intercepted
  6. oracle case when exists()
  7. sql server 2008学习5 sql基础
  8. oracle 取当天日期减一天 应该如何写
  9. Spring RestTemplate中几种常见的请求方式
  10. nginx + uWSGI 提高 Django的并发性(看着不错)