廖雪峰Java13网络编程-1Socket编程-5UDP编程

传统邮件发送:
传统的邮件是通过邮局投递,从一个邮局到另一个邮局,最终到达用户的邮箱。
电子邮件发送:
与传统邮件类似,它是从用户电脑的邮件软件(如outlook)发送到邮件服务器上,然后经过若干个邮件服务器的中转,到达对方邮件服务器上,收件方就可以用软件或浏览器来接收邮件。
MUA(邮件软件,Mail User Agent)——>MTA(邮件服务器,Mail Transfer Agent)——>MTA——>MDA(邮件投递代理,Mail Delivery Agent)<——MUA
邮件一半到达MDA就不再动了,等收件人通过MUA或浏览器查看邮件即可
SMTP协议:

  • Simple Mail Transport protocol。SMTP是一个建立在TCP之上的协议。
  • 标准端口:25
  • 加密端口:465/587。如果某个会话需要被加密的话,使用加密端口465/587

如果使用SMTP发送EMail:

  • Java Mail API
  • 无需关心SMTP协议原理。

使用Java Mail API有三个部分

#    创建session

#    创建manager对象
#    发送邮件

原文地址:https://www.cnblogs.com/csj2018/p/11186739.html

时间: 2024-10-04 16:07:29

廖雪峰Java13网络编程-1Socket编程-5UDP编程的相关文章

廖雪峰Java13网络编程-1Socket编程-2TCP编程

在开发网络应用程序的时候,会遇到Socket这个概念. Socket是一个抽象概念,一个应用程序通过一个Socket来建立一个远程连接,而Socket内部通过TCP/IP协议把数据传输到网络. Socket/TCP/部分IP都是由操作系统提供的.不同的编程语言只是提供了对操作系统调用的加单的封装,例如Java提供的几个Socket相关的类就封装了操作系统提供的接口. 为什么需要Socket? 因为仅仅通过IP地址进行通信还不够,同一台计算机同一时间会运行多个网络程序.当计算机收到一个数据包的时候

廖雪峰Java13网络编程-1Socket编程-3TCP多线程编程

TCP多线程编程 一个ServerSocket可以和多个客户端同时建立连接,所以一个Server可以同时与多个客户端建立好的Socket进行双向通信. 因此服务器端,当我们打开一个Socket以后,通常使用一个无限for循环,在这个for循环内部,每次调用accept方法,返回一个与远程客户新建的Socket连接,紧接着启动一个新的线程,来处理这个连接. ServerSocket ss = new ServerSocket(port); for( ; ; ){ Socket sock = ss.

廖雪峰Java13网络编程-1Socket编程-1网络编程概念

1.什么是计算机网络? 两台或更多计算机组成的网络 同一网络内的任意2台计算机都可以直接通信 所有计算机必须遵循同一种网络协议 什么是互联网 互联网是网络的网络 互联网采用TCP/IP协议 * TCP/IP协议泛指互联网协议 * 其中最重要的2个协议是TCP协议和IP协议 IP地址用于唯一标识一个网络接口(Network Interface) IPv4采用32位地址,类似101.202.99.12 IPv6采用128位地址,类似2001:0DA8:100A:0000:0000:1020:F2F3

廖雪峰Java13网络编程-3其他-1HTTP编程

HTTP协议: Hyper Text Transfer Protocol:超文本传输协议 基于TCP协议之上的请求/响应协议 目前使用最广泛的高级协议 使用浏览器浏览网页和服务器交互使用的就是HTTP协议 手机应用上绝大多数程序与服务器之间交互数据使用的也是HTTP协议. HTTP是一个请求/响应协议.浏览器发送一个请求,服务器收到以后,然后发送响应. HTTP 1.0特点: 每次请求都会创建一个新的HTTP连接,浏览器在请求一个网页之后,往往还是多次请求图片.CSS.JS等其他资源,而创建 原

廖雪峰Java1-3流程控制-3条件判断

1.if条件判断的格式 if (条件) { 代码块 } if (条件) { 代码块1 } else { 代码块2 } if (条件1) { 代码块1 } else if { 代码块2 } else { 代码块3 } 2.整型判断 条件判断注意的事项: 注意判断顺序 注意边界条件 int n = 100; if (n >= 90){ System.out.println("优秀"); }else if(n >= 60){ System.out.println("及格

廖雪峰Java1-3流程控制-6 do-while循环

do-while循环 do-while先执行循环,再判断条件. 条件满足时继续循环:条件不满足时退出:至少循环1次 int sum =0; int n = 1; do{ sum = sum + n; n++; }while (n<10); System.out.println(n); System.out.println(sum); 原文地址:https://www.cnblogs.com/csj2018/p/10252721.html

廖雪峰Java1-3流程控制-5循环

while循环 while循环首先判断条件: 条件满足时循环:条件不满足时退出循环 如果一开始条件就不满足,一次都不循环.如while false int sum = 0; int n = 1; while (n < 10){ sum = sum + n; n++; } System.out.println(n); System.out.println(sum); 避免死循环 当循环条件永远循环时,进入死循环.死循环导致CPU 100%占用,要避免死循环 int sum = 0; int n =

【廖雪峰老师python教程】——IO编程

同步IO 异步IO 最常见的IO--读写文件 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件). open() read() close() try: f = open('/path/to/file', 'r') print(f.read()) finally

廖雪峰Java6 IO编程-2input和output-4Filter模式

1.JDK提供的InputStream分为两类: 直接提供数据的InputStream * FileInputStream:从文件读取 * ServletInputStream:从HTTP请求读取数据 * Socket.getInputStream():从TCP连接读取数据 提供额外附加功能的FilterInputStream * 如果要给FileInputStream添加缓冲功能: BufferedFileInputStream extends FileInputStream * 如果要给Fi