01: 邮件发送原理
02: 简单邮件发送实现
03: 复杂邮件发送实现

1. 邮件发送原理

  • 要在网络上实现邮件功能,必须要有专门的邮件服务器。
  • 这些邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中。
  • SMTP服务器地址:一般是 smtp.xxx.com,比如163邮箱是smtp.163.com,qq邮箱是smtp.qq.com。
  • 电子邮箱(E-Mail地址)的获得需要在邮件服务器上进行申请。比如我们要使用QQ邮箱,就需要开通邮箱功能;

1.1 传输协议

  • SMTP协议(发送邮件)
    我们通常把处理用户smtp请求(邮件发送请求)的服务器称之为SMTP服务器(邮件发送服务器)。
  • POP3协议(接收邮件)
    我们通常把处理用户pop3请求(邮件接收请求)的服务器称之为POP3服务器(邮件接收服务器)。

1.2 邮件收发原理

邮件服务器:

  • ①SMTP邮件服务器:替用户发送邮件和接收外面发送给本地用户的邮件
  • ​②POP3/IMAP邮件服务器:帮助用户读取SMTP邮件服务器接收进来的邮件

邮件传输协议:

  • ①电子邮件需要在邮件客户端和邮件服务器之间,以及两个邮件服务器之间进行邮件传递,那就必须要遵守一定的规则,这个规则就是邮件传输协议
  • ​②SMTP协议:全称为 Simple Mail Transfer Protocol,简单邮件传输协议。它定义了邮件客户端软件和SMTP邮件服务器之间,以及两台SMTP邮件服务器之间的通信规则
  • POP3协议:全称为 Post Office Protocol,邮局协议。它定义了邮件客户端软件和POP3邮件服务器的通信规则
  • ④IMAP协议:全称为 Internet Message Access Protocol,Internet消息访问协议,它是对POP3协议的一种扩展,也是定义了邮件客户端软件和IMAP邮件服务器的通信规则

我们说所有的邮件服务器和邮件客户端软件程序都是基于上面的协议编写的


1.3 使用Java实现邮件发送需要使用到的类

我们将用代码完成邮件的发送。这在实际项目中应用的非常广泛,比如注册需要发送邮件进行账号激活,再比如OA项目中利用邮件进行任务提醒等等。

使用Java发送 E-mail 十分简单,但是首先你应该准备 JavaMail API 和Java Activation Framework 。得到两个jar包:

  1. mail.jar
<!-- https://mvnrepository.com/artifact/javax.mail/mail -->
<dependency><groupId>javax.mail</groupId><artifactId>mail</artifactId><version>1.4.7</version>
</dependency>
  1. activation.jar
<!-- https://mvnrepository.com/artifact/javax.activation/activation -->
<dependency><groupId>javax.activation</groupId><artifactId>activation</artifactId><version>1.1.1</version>
</dependency>

JavaMail 是sun公司(现以被甲骨文收购)为方便Java开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发包,它支持一些常用的邮件协议,如前面所讲的SMTP,POP3,IMAP,还有MIME等。我们在使用JavaMail API 编写邮件时,无须考虑邮件的底层实现细节,只要调用JavaMail 开发包中相应的API类就可以了。

我们可以先尝试发送一封简单的邮件(首先需要确保电脑可以连接网络)步骤:

  • 创建包含邮件服务器的网络连接信息的Session对象。
  • 创建代表邮件内容的Message对象
  • 创建Transport对象,连接服务器,发送Message,关闭连接

主要有四个核心类,我们在编写程序时,记住这四个核心类,就很容易编写出Java邮件处理程序。

原理:



JavaWeb--邮件发送原理相关推荐

  1. javaWeb邮件发送原理及实现

    1.简单邮件发送 在这里插入图片描述 1.1引入依赖 1.2代码实现 //发送一封简单的邮件 public class MailDemo01 {public static void main(Stri ...

  2. Javaweb(邮件发送)

    目录 1.电子邮件 1.传输协议 SMTP协议 POP3协议 2.邮箱原理理解 2.java发送邮件 概述 发送普通邮件 发送图片邮件 发送带附件的邮件 3.javaweb写邮件 4.SpringBo ...

  3. JavaWeb邮件发送

    邮件发送 1.邮件发送原理图 2.jar包的支持 mail-1.4.7.jar activation-1.1.1.jar 3.授权码的获取 4.简易文本邮件发送的实现 5.实现步骤 创建session ...

  4. Java实现QQ邮件发送原理和实现

    电子邮件 在网络中实现邮件发送和接收的功能,就必须要有专门的邮件服务器(使用SMTP协议).我们发送一封邮件,先要经过各层路由,交换机,基站,然后存到该邮件服务器,(不同的邮件有不同的邮件服务器,比如 ...

  5. SMTP邮件发送原理

    我们通过smtp服务器中的对应的账户,端口发送邮件. 服务器:填写你的发送邮件所在的smtp服务器(baidu) 端口号:百度查询你邮箱所在smtp服务器的发送端口号,qq邮箱端口号查询 账户:你的邮 ...

  6. JavaWeb(三):java和javaWeb实现邮件发送

    JavaWeb-实现邮件发送 学习视频:B站 狂神说Java – https://www.bilibili.com/video/BV12J41137hu?p=1 学习资料笔记:csdn dream_F ...

  7. 77.【JavaWeb文件上传和邮件发送04】

    JavaWeb (二十五).文件上传 1.准备工作 2.实用类介绍 3.思维导图: 4.正戏开始 5.完整代码 (二十六).邮箱发送 1.邮箱发送的原理: 2.服务器的原理 3.下载两个jar包 4. ...

  8. 邮件发送-JavaWeb

    邮件发送 邮件发送所依赖的协议 SMTP协议(发送邮件) SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,是一种提供可靠且有效电子邮件传输的协议.SMTP是建 ...

  9. 邮件发送与接收的原理

    来源于http://www.cnblogs.com/xdp-gacl/p/4209586.html 一. 邮件开发涉及到的一些基本概念 1.1.邮件服务器和电子邮箱 要在Internet上提供电子邮件 ...

最新文章

  1. 杭电多校第六场-J-Ridiculous Netizens
  2. session:的生命周期
  3. doxygen相关问题 转
  4. winform 统计大量数据重复的元素个数_DAY10——推断统计之概率与概率分布:常见的离散型概率分布...
  5. 捐赠赞助单页HTML模板
  6. 波士顿大学计算机科学的就业,波士顿大学计算机科学
  7. Maven实战(四)——基于Maven的持续集成实践
  8. SQLServer数据库同步准实时解决方案
  9. 计算机丢失mscvr,教大家计算机丢失Msvcr100.dll的解决方法
  10. 清除Zabbix的历史记录
  11. Excel数据分析—饼图/圆环图
  12. 「硅仙人」吉姆 · 凯勒
  13. 回首2018,展望2019 | 掘金年度征文
  14. 微信小程序(上传照片功能、统计字数功能)
  15. LabVIEW AI视觉工具包(非NI Vision)下载与安装教程
  16. 最好的 8 个免费和开源网络映​​射软件
  17. C3P0,Proxool等连接池的断开自动重联功能
  18. Unity3d Ugui图片上制作点光 、棱形光效果shader,并具有裁切
  19. 虚拟主机环境WinWebMail邮件系统的常见问题处理
  20. 四层高速dsp开发板制作7——绘制等长线

热门文章

  1. java入职学习一之编码规范
  2. 解决ubuntu无法连接wifi的问题: 安装无线网卡驱动
  3. python中glob模块怎么下_如何在Python中使用glob.glob模块搜索子文件夹?
  4. word操作技巧--第一篇
  5. AudioServicesPlaySystemSound 系统声音提示 iOS iPad
  6. Ubuntu18.04上安装ROS的详细教程
  7. 基于微信小程序的懒人美食帮小程序
  8. 【WY】数据分析 — Pandas 阶段一 :基础语法 三 —— 数据结构:DataFrame
  9. 贵阳学院c语言试卷,关于印发《贵阳学院硕士研究生入学考试(初试) 自命题工作管理办法(试行)》的通知...
  10. 基于springboot的私人健身与教练预约管理系统