IntelliJ IDEA 2017版 spring-boot 2.0.3 邮件发送搭建,概念梳理

Posted liuyangfirst

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IntelliJ IDEA 2017版 spring-boot 2.0.3 邮件发送搭建,概念梳理 相关的知识,希望对你有一定的参考价值。

邮件发送功能总结
       技术分享图片

第一部分 背景
 
一、使用场景
(1)注册验证
   注册各大网站,通常需要输入邮件地址,在注册成功后,会发送一封邮箱验证的邮件,点击确认,证明这个邮箱是用户自己的
(2)网站营销
   公司运营做活动的时候,提前几天给用户发邮件,提醒老用户在活动时间参加活动。
(3)安全的最后一道防线
   一个网站好久不用的时候,会忘记密码,这个时候需要找回密码,很多种找回方式,最常用的找回方式就是通过邮箱找回密码。
首先,在网站输入邮箱,系统会根据注册的邮箱发送一封邮件,根据邮件中的地址,可以重新设置新的密码。
(4)提醒邮件告警
   如果系统没有监控,将是一种灾难性的事件,系统被实时的监控起来,出了问题,第一时间通知到开发人员,在事态没有扩散,影响最小的时候把问题解决掉。
(5)触发机制
   定时邮件的发送,计算机忘记关机,发送一个特殊的邮件,让计算机自动关机。
 
二、邮件发送原理
 
原理:需要将发送邮件者的邮件,发送到需要发送的接受者的邮箱中,发送过程中需要很多的发送协议。
(1)邮件传输协议:SMTP协议和POP3协议
    SMTP全称 Simple Mail Transfer Protocol,即简单邮件传输协议.一种从源地址到目的地址,邮件传输的规范,通过它控制邮件的中转方式,特点是能在传送中,接力传送邮件,即邮件可以通过不同网络上的主机接力式的传送,SMTP主要负责底层邮件系统如何将邮件从一台服务器传送到另一台机器.
   POP3全称Post Office Protocol,即邮局协议的第三个版本,它规定了怎么将个人计算机连接到Internet服务器和下载电子邮件的电子协议,它也是因特网电子邮件第一个临宪协议标准.POP3允许用户从服务器上把邮件存储到本地主机,同时,删除保存在邮件服务器上的邮件.
(2)内容不断发展:IMAP协议和Mime协议
   IMAP(Internet Mail Access Protocol,Internet邮件访问协议)以前称作交互邮件访问协议(Interactive Mail Access Protocol)。IMAP是斯坦福大学在1986年开发的一种邮件获取协议。它和POP3协议类似,也是邮件访问的标准之一,它和POP3不同的是,它在电子邮件客户端收取的邮件,仍然保存在服务器上,同时在客户端上的操作,都会反馈到服务器上,如在客户端上删除一个邮件,或者标记了邮件已读,那么服务器上的邮件也会相应更改其动作,因此不论从浏览器登录邮箱,还是从客户软件登录邮箱,看到的邮件的状态都是一样的,IMAP协议是对POP3协议的补充.
   MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。SMTP早期是基于ASCII字符文本的,在二进制文本处理上,并不是很好,后来又开发了编码二进制文本,比如MIME,其通过SMTP来传输,所以当今SMTP都支持八位的MIME扩展,它是二进制的传输变得几乎和传文本传输一样简单.
 
三、邮件发送流程
技术分享图片技术分享图片
流程概述:
  首先发信人在用户代理上,编辑邮件,写清发件人的邮件地址.
  第二步,用户代理根据发件人编辑的信息,生成一封符合邮件格式的邮件.
  第三步,用户代理把邮件发送到发信人的邮件服务器上,邮件服务器上有一个缓冲队列,发送到邮件服务器的队列,都会进入缓冲队列中,等待邮件服务器上的SMTP客户端进行发送,发件人的邮件服务器是SMTP把这封邮件,发送到收件人的邮件服务器之中
  第五步,收件人的邮件服务器接收邮件之后,把这封邮件放到收件人的邮件服务器的信箱中.
  最后,收件人使用收件代理来收取邮件,
收取方式:用户代理使用POP3来连接收件人所在邮件服务器,之后验证成功之后,用户代理就会把邮件服务器上的邮件读取起来,并且展示给收件人
总结:
  发件人通过发件人的邮件服务器将邮件发送到发送人的DMS服务器中,通过SMTP不断的查询DNS来从一个服务器到另一个服务器,最后传送到收件人的邮箱服务器,收件人通过POP3将邮件下载到本地进行查看.

 


以上是关于IntelliJ IDEA 2017版 spring-boot 2.0.3 邮件发送搭建,概念梳理 的主要内容,如果未能解决你的问题,请参考以下文章

Intellij idea史上最简单的教程之Linux下安装与破解Intellij idea2017

IntelliJ IDEA 2017版 spring-boot2.0.2 自动配置Condition

IntelliJ IDEA 2017版 spring-boot 2.0.5 邮件发送简单实例

IntelliJ IDEA 2017版 spring-boot2.0.4的集成JSP

IntelliJ IDEA 2017版 spring-boot2.0.4的yml配置使用

Mac IntelliJ IDEA 2017(java开发集成环境)附注册码和破解教程 v2017.3.5破解版