当前位置:首页 > > 充电吧
[导读]认识E-mail协议:一、E-mail的发送与接收涉及两个协议:1、简单邮件传递协议(SMTP):负责传递邮件,是TCP/IP系列的协议.2、邮政协议(POP3):接收互联网上的邮件.3、这里主要讲解

认识E-mail协议:


一、E-mail的发送与接收涉及两个协议:

1、简单邮件传递协议(SMTP):负责传递邮件,是TCP/IP系列的协议.
2、邮政协议(POP3):接收互联网上的邮件.

3、这里主要讲解SMTP协议,POP3协议在上面的链接中.


二、工作原理:

1、客户端发送程序-->SMTP1服务器(源SMTP)-->通过DNS服务寻找目标SMTP服务器-->SMTP2服务器与建立连接并传送邮件-->POP3服务器-->放入接收者电子信箱中并通知接收者。

2、通常情况下,个人用户不是直接接收电子邮件,是由ISP(如:smtp.qq.com)的(SMTP服务器)主机负责接收电子邮件,再通知个人用户。
路径:个人用户主机-->SMTP的主机-->SMTP目标服务器-->收件人的SMTP主机-->POP3服务器-->通知收件人.

3、一般大公司专门有一台SMTP服务器机器用来处理邮件.


三、关于ISP(互联网服务提供商):

1、ISP的主机充当着邮局的作用,管理众多用户的电子信箱,每个用户的电子邮箱实际上就是它的账号名。
2、由于每个电子邮箱都要占据ISP的硬盘空间,所以邮件数量是有限的。


四、关于互联网邮件系统:

1、每一台互联网PC在运行邮件程序(QQ邮箱)时,可自动确保邮件以标准格式选址和传送,这个程序称为“传送受理程序”.
2、“传送受理程序”遵守SMTP协议向外界发送邮件.

3、大多数“传送受理程序”都在后台运行,UNIX称它为sendmail的智能程序.


电子邮件:

一、分为三个部分:

                          1)信头(主题、收件人、发件人)        
                          2)信体(内容)
                          3)签名区

二、国际上常见的电子邮件格式:    

            From:发信人地址     
              to:收信人地址
         Subject:主题
         content:内容
                 结束标志
                 签名区

三、电子邮件地址通用格式:用户标识字符串@域名(123@qq.com)

四、邮件结构:

      (1)From:user1@domain1.com                         //发信人 
      (2)  To:user2@domain1.com                         //收件人
      (3)Subject:Hello,World                            //主题
      (4)Date:Thu,1 Apr 2017. 14:00:00 GMT//时间日期
      (5)Hi,Jack                                        //内容部分
      (6)空行                              
      (7)How Are You?
      (8)...
      (9)Thanks
      (10)Aaron


信头:

在传输过程中,邮件被打包成一个数据结构,邮件的传输是根据信头上的信息进行传输的。

举例说明信封在传递过程中信头的变化:

步骤一:客户端程序发送邮件时:
               From:123@126.com                              
               To:456@qq.com             
               Date:Thu,1 Apr 2017. 14:00:00 GMT
               X-mailer:Sendmail 8.9.0
               Subject:Hello,World

步骤二:smtp.qq.com指向的SMTP服务器接收此邮件后,在信头上增加一条以下内容:
              Received:from 发信人主机名.126.com (发信人主机名.126.com [发件人IP地址]) by smtp.126.com (8.8.5)  id  004A21;Tue,Mar 18 1998 15:3 7:24 GMT
              From:123@126.com                                        
              To:456@qq.com             
              Date:Thu,1 Apr 2017. 14:00:00 GMT
              X-mailer:Sendmail 8.9.0
              Subject:Hello,World

步骤三:QQ的SMTP服务器将邮件存储下来,等待收件人阅读,再次增加两条以下的内容:

             Received:from smtp.126.com (smtp.126.com [1.1.1.0]) bysmtp.qq.com (8.8.5/8.7.2) with ESMTP id LAA20869;Tue,Mar 18 1998 15:3 7:44 GMT

             Received:from 发信人主机名.126.com (发信人主机名.126.com [发件人IP地址]) by smtp.126.com (8.8.5)  id  004A21;Tue,Mar 18 1998 15:3 7:24 GMT

              From:123@126.com             
              To:456@qq.com             
              Date:Thu,1 Apr 2017. 14:00:00 GMT
              Message-Id:

拿步骤三来解释以上的含义说明:

1、Received:from smtp.126.com (smtp.126.com [1.1.1.0]):

说明了是在smtp.126.com的SMTP服务器上接收来的邮件,SMTP服务器IP地址为1.1.1.0,真实名字为smtp.126.com

2、by smtp.qq.com (8.8.5/8.7.2) with ESMTP id LAA20869:

接收方为smtp.qq.com,使用的sendmail(传送受理程序)的版本:8.8.5/8.7.2,邮件编号为ESMTP id LAA20869

3、Tue,Mar 18 1998 15:3 7:44 GMT:接收时间

4、Message-Id域:发送方SMTP服务器赋给这封邮件的编号,这个编号会始终跟随该电子邮件


SMTP协议原理:


一、简易概述:

1、提供高效、可靠的邮件传输,可通过不同网络的主机接力式传送.
2、TCP/IP系列的协议.
3、使用的监听端口号:25


二、主要功能:
1、将邮件从客户端传送至SMTP服务器.
2、将邮件从SMTP服务器传送至另外一个SMTP服务器上.

3、分为两个工作模式:发送SMTP、接收SMTP.


三、工作过程:

接到客户端的邮件请求后,判断是否为发送给本地SMTP服务器用户的邮件,如果是,直接投送到用户邮件中.否则向域名服务DNS查询远端SMTP服务器的MX记录, 查询到后,与远端SMTP服务器建立连接,相互交互发送SMTP命令,本地SMTP服务器发送MAIL命令指明邮件发送者,远端SMTP服务器则返回OK应答,本地SMTP服务器再发送RCPT命令确认邮件是否已接收到,远端SMTP服务器接收成功则返回OK应答,反之则会返回拒绝接收应答(但不终止连接), 双方重复多次,当远端SMTP服务器收到全部邮件后会接收到特别的序列,如果远端SMTP服务器成功处理了邮件,则返回OK应答.


关于MX记录:邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据,收信人的地址后缀来定位邮件服务器.
关于CNAME记录(规范名字):将多个名字(域名)映射到同一台计算机.

关于A记录:IP地址


四、SMTP命令与三位数字响应码描述:

1、SMTP命令和三位数字响应码基于ASCII字符集,并以CR和LF符(CR为r、FL为n)结束.
2、三位数字响应码为三位数字代码,每一个数字代码表示一个返回状态.


五、发信步骤:(以登录QQ邮箱进行发信为例)

    1、连接QQ的SMTP服务器,通常端口为25      //2开始,每一个命令都要接收一个服务器响应码
    2、编辑邮件内容和标题格式:
    "From:rn"              //仅用于显示在邮件上的说明发件人(一般与实际发件人的邮箱号一致才行)
    "To:rn"(以;分割)       //仅用于显示在邮件上的说明一个或多个收件人(随意)
    "Subject:主题rnrn"                  //邮件标题
    "内容"                                  //邮件内容
    3、发送EHLO命令标明身份
    4、发送STARTTLS命令标明使用安全传输层协议(TLS)
    5、发送AUTH LOGIN命令使用邮箱登录
    6、上传QQ账号和邮箱密钥(Base64编码)
    7、发送MAIL FROM命令指定发件人,就是当前QQ邮箱.
    8、发送RCPT TO命令指定一个或多个收件人
    9、发送DATA命令准备开始发送邮件内容
    10、发送内容,内容以rn.rn结束
    11、发送QUIT命令退出

(具体编写2017年QQ邮件发信请看:http://blog.csdn.net/aaron133/article/details/78363844)

六、列举一些SMTP命令:

(注意:每条命令以rn结尾,每发送一条SMTP命令,要接收一个服务器数字回应码)

1、EHLO命令:

发送格式:EHLO 主机名或发送者SMTP服务器名rn        

作用:向服务器标明用户身份

2、STARTTLS命令:

发送格式:STARTTLS arn

作用:这是使用QQ邮箱时,需要的,这是我根据服务器反馈的错误回应码,知道的命令,我理解的不太透彻,应该为开启安全传输层协议(TLS),a字符是随便加的,因为他需要后面跟一些字符串才能成功.

3、AUTH LOGIN命令:

发送格式:AUTH LOGINrn       

作用:邮箱认证,发送该命令后应依次先发送邮箱账号,后发送密码(账号密码均使用Base64编码)发送前,需要将账号密码字符串转换为Base64编码,而且账号和密码结尾必须添加上:rn

关于Base64编码:http://blog.csdn.net/aaron133/article/details/78352525

简单转换Base64编码的函数:http://blog.csdn.net/aaron133/article/details/78363844

4、MAIL FROM命令:

发送格式:MAIL FROM: 

作用:指定发件人

5、RCPT TO命令:

发送格式:RCPT TO:

作用:指定一个或多个收件人,指定多人时,要多次发送RCPT TO命令.

6、DATA命令:

发送格式:DATArn

作用:表示准备开始发送邮件内容,发送此命令后,接着应发送邮件内容,内容必须以rn.rn作为结束标记.

7、QUIT命令:

发送格式:QUITrn

作用:退出命令

七、列举一些三位数字响应码:

(第一位数字为2,表示命令成功)

(第一位数字为5,表示命令失败)

(第一位数字为3,表示命令未完成)

1、211   系统状态或系统帮助响应
2、214   帮助信息
3、220  


八、补充说明:

1、360会报告有第三方软件在使用邮箱发件.
2、SMTP命令中的HELO命令和EHLO命令是不同的,HELO命令是普通SMTP,不需要身份认证就可以使用MAIL FROM命令,然后发送伪造发送者的邮件,而现在大多数为ESMTP(SMTP扩展),是带有身份验证的.



本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭