首页 > 编程知识 正文

sdlc协议,smtp位于

时间:2023-05-04 19:39:08 阅读:149227 作者:4514

1、SMTP协议概述

SMTP称为简单邮件传输协议,旨在为用户提供高效、可靠的邮件传输。 其中的一个重要特征是可以在传输过程中中继和传输邮件。 这意味着邮件可以通过不同网络上的主机中继传输。 通常在两种情况下工作:从客户端向服务器传输邮件,以及从客户端向服务器传输邮件。 二是从一台服务器传输到另一台服务器。 SMTP是一种请求/响应协议,它监听端口25,接收用户的邮件请求,并与远程邮件服务器建立SMTP连接。

2、SMTP协议的工作原理

SMTP通常有两种操作模式。 发送和接收SMTP。 具体地说,发送SMTP在接收到来自用户的邮件请求后,判断该邮件是否是本地邮件,在直接发送到用户的邮箱的情况下,如果不是,则向DNS询问远程邮件服务器的MX记录,发送远程接收SMTP 建立传输通道后,SMTP发件人会发送指示邮件发件人的MAIL命令。 如果SMTP收件人可以接收邮件,则返回OK应答。 SMTP发送者还发出RCPT命令以确认是否收到了邮件。 SMTP接收者接收到时,返回OK应答; 不能接收时,发出拒绝接收应答(但是,不中止整个邮件操作),反复多次。 收件人收到所有邮件后,会收到特殊的序列,进入电子仓库哦。 收件人成功处理邮件后,回复OK应答。

3、SMTP连接和发送流程

(a )建立TCP连接

) b )客户端发送问候命令以标识发送者自己,客户端发送邮件命令;

服务器方面想以OK作为响应,表示准备好接收

) c )所述客户端可发送RCPT命令以识别该电子邮件的预定接收方,其中多个RCPT矩阵可被共享;

服务器端指示是否为收件人接收邮件

(d )协商结束,发送邮件,用指令DATA发送

(e )表示用.结束输入内容后一起发送

(f )结束本次发送,用QUIT命令结束

例如以下所示。

通过C : telent SMTP.163.com 25//telenet方式连接到163邮件服务器s :220163.com anti-spamgtforcoremailsystem//220的是响应数字除了helo的功能外,wsdby还主要支持服务器支持的扩展s :250-mails :250-authloginplains 3360250-auth=log in plains 33602508 bit mime//'-' c :自动登录//要求认证的S: 334 dxNlcm5hbWU6 //服务器的响应——是用base64编码的“username”=c 3360 y 29 zdgfayw1hegl0lm 5l 用BASE64编码的用户名s:334ugFZC3dvcmq6//BASE64编码的' password : '=c : MTK4mjixna=//客户端发送的用base64编码的密码s :235成功进行authsucceect认证的c : mail from : bripengandre @ 163.com//发件人邮箱s : 250 收件人邮箱s : 250……/“”表示省略了c : rcpt to 3360 bripengandre @ smail.huss ing .的可读信息。收件人邮箱s : 250……/“” 表示省略了要求发送数据的S: 354 Enter mail,end with '.' onalinebyitselfc 3360 enjoyprotocolstudingc :s :250 messagesentc 3360

其他命令:

VRFY——用于验证特定用户的邮箱是否存在,并接收有关该用户的详细信息。

EXPN——用于扩展邮件列表

4、邮件路由流程

SMTP服务器根据域服务DNS中计划收件人的域名来路由电子邮件。 SMTP服务器根据DNS中的MX记录路由电子邮件,MX记录必须注册域名和关联的SMTP中的主机,并且属于域的所有电子邮件都必须发送到该主机。

如果收到SMTP服务器mail.abc.com发送给shuser@sh.abc.com的信:

a: SendMail向DNS请求主机sh.abc.com的CNAME记录,如果CNAME到达shmail.abc.com (如果有的话),再次请求shmail.abc.com的CNAME记录

假设b:已从CNAME发送到shmail.abc.com,SendMail向@abc.com域的DNS请求shmail.abc.com的MX记录。

shmail MX 5 shmail.abc.com

10 shmail2.abc.com

c: SendMail委托DNS发出shmail。

abc.com的A记录,即IP地址,若返回值为1.2.3.4

d: SwndMail与1.2.3.4连接,传送这封信给shuser@sh.abc.com的信到1.2.3.4这台服务器的SMTP后台程序。

5、SMTP常用的命令

SMTP命令不区分大小写,但参数区分大小写。常用命令如下:

HELO <domain> <CRLF>——向服务器标识用户身份发送者能欺骗、说谎,但一般情况下服务器都能检测到

RCPT TO: <forward-path> <CRLF>——<forward-path>用来标志邮件接收者的地址,常用在MAIL FROM后,可以有多个RCPT TO

DATA <CRLF>——将之后的数据作为数据发送,以<CRLF>.<CRLF>标志数据的结尾

REST <CRLF>——重置会话,当前传输被取消

NOOP <CRLF>——要求服务器返回OK应答,一般用作测试

QUIT <CRLF>——结束会话

VRFY <string> <CRLF>——验证指定的邮箱是否存在,由于安全方面的原因,服务器大多禁止此命令

EXPN <string> <CRLF>——验证给定的邮箱列表是否存在,由于安全方面的原因,服务器大多禁止此命令

HELP <CRLF>——查询服务器支持什么命令

6、SMTP常用的响应

501——参数格式错误

502——命令不可实现

503——错误的命令序列

504——命令参数不可实现

211——系统状态或系统帮助响应

214——帮助信息

220<domain>——服务器就绪

221<domain>——服务关闭

421<domain>——服务器未就绪,关闭传输信道

250——要求的邮件操作完成

251——用户非本地,将转发向<forward-path>

450——要求的邮件操作未完成,邮箱不可用

550——要求的邮件操作未完成,邮箱不可用

451——放弃要求的操作,处理过程中出错

551——用户非本地,请尝试<forward-path>

452——系统存储不足,要求的操作未执行

552——过量的存储分配,要求的操作未执行

553——邮箱名不可用,要求的操作未执行

354——开始邮件输入,以“.”结束

554——操作失败

7、使用SMTP的必要性

一般的PC资源不够,处理能力不够,不可能全天候地连接在因特网上来收发邮件。所以使用SMTP服务器,可以让多个用户共用服务器,有效地降低了成本。

8、SMTP和邮件格式的关系

可以用一个比较形象的例子来说明:甲与乙书信来往,甲通过邮局向乙发送信件,邮局见转交邮件可看成使用了SMTP协议,至于书信的格式则会因为地区习惯等的不同而不同,这个书信格式可看成是邮件格式的标准。

9、浏览器发送邮件使用的协议

浏览器发送邮件的过程:

例如:bripengandre@126.com可通过登陆www.126.com来收发邮件

bripengandre@126.com在www.126.com提供的邮件页面上填写的相应信息(如发信人邮箱、收信人邮箱等),通过http协议被提交给126服务器;126服务器根据这些信息组装一封符合邮件规范的邮件(就像用户代理一样);然后smtp.126.com通过SMTP协议将这封邮件发送到接收端邮件服务器。

由此可知,浏览器发送邮件只是用户代理的功能直接放到邮件服务器上去做了,至于邮件服务器见发送邮件仍然采用的是SMTP协议。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。