Internet电子邮件系统是基于客户机/服务器方式,客户端也叫用户代理(User Agent),提供用户界面,负载邮件发送的准备工作,如邮件的起草、编辑以及向服务器发送邮件或从服务器取邮件等。服务器端也叫传输代理(Message Transfer Agent),负责邮件的传输,它采用端到端的传输的传输方式,源端主机参与邮件传输的全过程。电子邮件系统的工作原理如图:
从上图可以看出,邮件的发送和接收过程主要分为3步。
(1)当用户需要发送电子邮件时,首先利用客户端的电子邮件应用程序按规定格式起草、编辑一封邮件,指明收件人的电子邮件地址,然后利用SMTP将邮件送往发送端的邮件服务器。
(2)发送端的邮件服务器接收到用户送来的邮件后,接收件人地址中的邮件服务器主机名,通过SMTP将邮件送到接收端的邮件服务器,接收卖猛衫端的邮件服务器根据收件人地址中的账号将邮件投递中腔到对应的邮箱中。知兆
(3)利用POP3协议或IMAP,接收端的用户可以在任何时间、地址利用电子邮件应用程序从自己的邮箱中读取邮件,并对自己的邮件进行管理。
电子邮件服务作为Internet上应用最多和最广的服务项目得到了非常广泛的应用,在网络应用中也起到非常重要的作用。如同其他的网络服务,电子邮件系统也有其使用的传输协议,包括SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)、POP(Post Office Protocol,邮局协议)和IMAP(Internet Message Access Protocal,消息访问咐培仿协议)等,这些协议应用于电子邮件的发送和接收。一些邮件处理软件如OutLook Express和FoxMail等就是按照SMTP和POP3 协议结合Windows Sockets套接字进行设计来收发邮件的。本文以SMTP协议为研究对象,在Visual C++ 6.0编程环境下按照SMTP协议通过套接字发送SMTP命令,接收并处理邮件服务器的反馈信息,从而实现对电子邮件的发送。SMTP协议的通讯模型和会话流程
SMTP协议通讯模型
SMTP协议是TCP/IP协议族中的一员,主要对如何将电子邮件从发送方地址传送到接收方地址,也即是对传输的规则做了规定。SMTP协议的中漏通信模型并不复杂,主要工作集中在发送SMTP和接收SMTP上:首先针对衡纤用户发出的邮件请求,由发送SMTP建立一条连接到接收SMTP的双工通讯链路,这里的接收SMTP是相对于发送SMTP而言的,实际上它既可以是最终的接收者也可以是中间传送者。发送SMTP负责向接收SMTP发送SMTP命令,而接收SMTP则负责接收并反馈应答。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)