SMTP协议工作原理
发表于:2024-11-25 作者:千家信息网编辑
千家信息网最后更新 2024年11月25日,1.SMTP是工作在两种情况下: 一是电子邮件从客户机传输到服务器; 二是从某一个服务器传输到另一个服务器 2.SMTP是个请求/响应协议,命令和响应都是基于ASCII文本,并以CR和LF符结束。响应
千家信息网最后更新 2024年11月25日SMTP协议工作原理1.SMTP是工作在两种情况下: 一是电子邮件从客户机传输到服务器; 二是从某一个服务器传输到另一个服务器 2.SMTP是个请求/响应协议,命令和响应都是基于ASCII文本,并以CR和LF符结束。响应包括一个表示返回状态的三位数字代码 3.SMTP在TCP协议25号端口监听连接请求 4.连接和发送过程:
a.建立TCP连接 b.客户端发送HELO命令以标识发件人自己的身份,然后客户端发送MAIL命令服务器端正希望以OK作为响应,表明准备接收 c.客户端发送RCPT命令,以标识该电子邮件的计划接收人,可以有多个RCPT行服务器端则表示是否愿意为收件人接受邮件 d.协商结束,发送邮件,用命令DATA发送 e. 以.表示结束输入内容一起发送出去 f.结束此次发送,用QUIT命令退出。
5.另外两个命令: VRFY---用于验证给定的用户邮箱是否存在,以及接收关于该用户的详细信息。 EXPN---用于扩充邮件列表。
6.邮件路由过程: 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. Sendmail与1.2.3.4连接,传送这封给shuser@sh.abc.com的信到1.2.3.4这台服务器的SMTP后台程序
7.SMTP基本命令集:
命令 描述 ------------------------------ HELO 向服务器标识用户身份发送者能欺骗,说谎,但一般情况下服务器都能检测到。
MAIL 初始化邮件传输mail from: RCPT 标识单个的邮件接收人;常在MAIL命令后面可有多个rcpt to: DATA 在单个或多个RCPT命令后,表示所有的邮件接收人已标识,并初始化数据传输,以.结束。 VRFY 用于验证指定的用户/邮箱是否存在;由于安全方面的原因,服务器常禁止此命令 EXPN 验证给定的邮箱列表是否存在,扩充邮箱列表,也常被禁用 HELP 查询服务器支持什么命令 NOOP 无操作,服务器应响应OK QUIT 结束会话 RSET 重置会话,当前传输被取消 --------------------------------
8. MAIL FROM命令中指定的地址是称作 envelope from地址,不需要和发送者自己的地址是一致的。 RCPT TO 与之等同,指明的接收者地址称为envelope to地址,而与实际的to:行是什么无关。 9.为什么没有RCPT CC和RCPT BCC:? 所有的接收者协商都通过RCPT TO命令来实现,如果是BCC,则协商发送后在对方接收时被删掉信封接收者 10.邮件被分为信封部分,信头部分和信体部分 envelope from, envelope to 与message from:, message to:完全不相干。 evnelope是由服务器主机间SMTP后台提供的,而message from/to是由用户提供的。有无冒号也是区别。
11. 怎样由信封部分检查是否一封信是否是伪造的? a. received行的关联性。 现在的SMTP邮件传输系统,在信封部分除了两端的内部主机处理的之个,考虑两个公司防火墙之间 的部分,若两台防火墙机器分别为A和B,但接收者检查信封received:行时发现经过了C.则是伪造的。 b. received:行中的主机和IP地址对是否对应如: Receibed: from galangal.org (turmeric.com [104.128.23.115] by mail .bieberdorf.edu.... c. 被人手动添加在最后面的received行: Received: from galangal.org ([104.128.23.115]) by mail .bieberdorf.edu (8.8.5) Received: from lemongrass.org by galangal.org (8.7.3) Received: from graprao.com by lemongrass.org (8.6.4)
a.建立TCP连接 b.客户端发送HELO命令以标识发件人自己的身份,然后客户端发送MAIL命令服务器端正希望以OK作为响应,表明准备接收 c.客户端发送RCPT命令,以标识该电子邮件的计划接收人,可以有多个RCPT行服务器端则表示是否愿意为收件人接受邮件 d.协商结束,发送邮件,用命令DATA发送 e. 以.表示结束输入内容一起发送出去 f.结束此次发送,用QUIT命令退出。
5.另外两个命令: VRFY---用于验证给定的用户邮箱是否存在,以及接收关于该用户的详细信息。 EXPN---用于扩充邮件列表。
6.邮件路由过程: 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. Sendmail与1.2.3.4连接,传送这封给shuser@sh.abc.com的信到1.2.3.4这台服务器的SMTP后台程序
7.SMTP基本命令集:
命令 描述 ------------------------------ HELO 向服务器标识用户身份发送者能欺骗,说谎,但一般情况下服务器都能检测到。
MAIL 初始化邮件传输mail from: RCPT 标识单个的邮件接收人;常在MAIL命令后面可有多个rcpt to: DATA 在单个或多个RCPT命令后,表示所有的邮件接收人已标识,并初始化数据传输,以.结束。 VRFY 用于验证指定的用户/邮箱是否存在;由于安全方面的原因,服务器常禁止此命令 EXPN 验证给定的邮箱列表是否存在,扩充邮箱列表,也常被禁用 HELP 查询服务器支持什么命令 NOOP 无操作,服务器应响应OK QUIT 结束会话 RSET 重置会话,当前传输被取消 --------------------------------
8. MAIL FROM命令中指定的地址是称作 envelope from地址,不需要和发送者自己的地址是一致的。 RCPT TO 与之等同,指明的接收者地址称为envelope to地址,而与实际的to:行是什么无关。 9.为什么没有RCPT CC和RCPT BCC:? 所有的接收者协商都通过RCPT TO命令来实现,如果是BCC,则协商发送后在对方接收时被删掉信封接收者 10.邮件被分为信封部分,信头部分和信体部分 envelope from, envelope to 与message from:, message to:完全不相干。 evnelope是由服务器主机间SMTP后台提供的,而message from/to是由用户提供的。有无冒号也是区别。
11. 怎样由信封部分检查是否一封信是否是伪造的? a. received行的关联性。 现在的SMTP邮件传输系统,在信封部分除了两端的内部主机处理的之个,考虑两个公司防火墙之间 的部分,若两台防火墙机器分别为A和B,但接收者检查信封received:行时发现经过了C.则是伪造的。 b. received:行中的主机和IP地址对是否对应如: Receibed: from galangal.org (turmeric.com [104.128.23.115] by mail .bieberdorf.edu.... c. 被人手动添加在最后面的received行: Received: from galangal.org ([104.128.23.115]) by mail .bieberdorf.edu (8.8.5) Received: from lemongrass.org by galangal.org (8.7.3) Received: from graprao.com by lemongrass.org (8.6.4)
服务
命令
服务器
邮件
地址
主机
传输
信封
标识
用户
电子
电子邮件
部分
客户
接收者
邮箱
域名
多个
客户端
路由
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
南京物流软件开发代码
流媒体服务器开源代码
北京昆仑乐享网络技术有
数据服务器连不上怎么办
软件开发与测试怎么学
linux批量登录服务器
数联信成都网络技术有限公司
ps5命运2连接不上服务器
书店网络安全责任制度
学生党女生学习网络技术好吗
内存型数据库
做软件开发有什么大项目
服务器装机后无法开机
建筑师的服务器
那个服务器打开好可以吗
三级网络技术教程 pdf
数据库操作in后加集合
云主机 云服务器 区别
服务器测试显卡的口令
isc保障大会网络安全
网络安全工程证书
网络技术专业论文总结
应用变量机型数据库不存在
察右前旗网络安全
软件开发规划风险管理
锻炼计划软件开发
华为培训软件开发人员
应用软件开发建立两个类
深圳网络安全行业就业行情
基于网络安全计算机