《网络实用技术基础》第四章 4.3 电子邮件服务
4.3 电子邮件服务
一、电子邮件系统的应用
1.电子邮箱
电子邮件是通过电子通信系统进行书写、发送和接收的信件。使用电子邮件的用户必须拥有电子邮箱,每个电子邮箱都拥有唯一的电子邮件地址,发送邮件时使用电子邮件地址来标识接收方。完整的电子邮件地址由两部分组成,第一部分标识用户的邮箱,第二部分标识计算机,中间用@分开,即“用户标识@计算机标识”。用户标识通常是用户名,计算机标识通常是电子邮件服务器的域名。例如,在电子邮件地址abc@bistu.edu.cn中,abc是用户名,bistu.edu.cn是电子邮件服务器的域名。发送方的邮件服务器使用计算机标识来确定接收方的邮件服务器,接收方的邮件服务器根据用户标识确定用户邮箱。计算机标识只能使用域名,不能使用IP地址。
2.电子邮件系统
1)邮件传输代理
邮件传输代理负责邮件在服务器间的发送和接收,其功能由运行在服务器上的邮件服务端程序实现,在Windows Server平台上运行的邮件服务端程序有Exchange Server和SMTP等。
在发送邮件时,MTA根据电子邮件地址中的计算机标识部分,寻找邮件接收者所在的邮件服务器并进行转发。在接收邮件时,MTA缓存接收到的邮件,根据电子邮件地址中的计算机标识部分判断邮件的接收者是否为本地用户,若邮件的接收者是本地用户,则将邮件存储到服务器上;否则将邮件按地址转发往其他MTA。
2)邮件用户代理
邮件用户代理实现用户计算机与MTA客户端之间的电子邮件收发,是连接用户与MTA的桥梁。Windows上常用的邮件客户端程序有Outlook Express和Foxmail等,用户可以根据个人喜好选择客户端程序。
如图4-2所示,用户在发送邮件时,MUA使用SMTP协议将用户邮件以“上推”的方式提交给MTA;用户在接收邮件时,MUA使用POP协议或IMAP协议将用户邮件从MTA以“下拉”的方式存储到用户计算机。MUA面向用户,方便用户编写和阅读信件,并提供信件处理服务,如存盘、打印、转发、回复、查询和删除等。
图4-2电子邮件系统
二、电子邮件系统的工作原理
对用户来说,电子邮件的发送过程在邮件上传到本地服务器后就已经结束了,就如同传统的邮政系统一样,用户将信件丢进邮筒,信件就会在一段时间后被邮政系统投递到目的地。为了快速接收和存储用户的邮件,缩短用户的等待时间,电子邮件系统采用假脱机(Spooling)缓冲技术。
如图4-3所示,当用户通过邮件客户代理提交邮件后,邮件被存入邮件传输代理设置的专用缓冲区。之后,邮件服务器将邮件传送到远端目标服务器。
图4-3电子邮件系统的工作流程
当有邮件入局时,MTA对邮件的地址进行别名扩展,并通过查询别名数据库判断电子邮件的接收者是否为本地用户。若电子邮件的接收者是本地用户,则将邮件存储到入局邮箱,等待用户MUA接收;否则进行出局操作,将邮件转到出局Spooling缓冲区。后台传输进程通过DNS解析,将出局邮件的目标邮件服务器域名转换为IP地址,并尝试建立与目标服务器的TCP连接。若连接建立成功,则备份邮件发送给目标服务器上的MTA,在传输完成后删除邮件备份。若无法建立与目标邮件服务器的连接,则记录此次连接的时间和累计连接次数,并在规定的时间间隔后,再次发起连接。
MTA使用后台进程定期扫描整个邮件缓存区,检查是否有尚未发出的邮件。若发现存在尚未发出的邮件、上次发送失败的邮件或用户新投递的邮件,则再次尝试发送。如果MTA发现某封邮件在规定时间内未能成功发送,则判定该邮件发送失败,并将其退还给邮件发送者。
假脱机(Spooling):外围设备联机并行操作,它既是一种速度匹配技术,也是一种虚拟设备技术。通过用一种物理设备模拟另一种物理设备,可使各作业在执行期间只使用虚拟的设备,而不独占物理设备。这种技术使独占的设备变成可共享的设备,提高了设备的利用率和系统效率。