精华内容
参与话题
问答
  • SMTP协议

    2016-04-20 20:36:21
    SMTP协议

    这里写图片描述
    SMTP协议

    展开全文
  • smtp协议

    千次阅读 2018-05-20 16:15:25
    SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件 时找到下一个目的地。通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,整个过程 只要几分钟。SMTP服务器则是遵循SMTP协议...
    基本概念

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件
    的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件
    时找到下一个目的地。通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,整个过程
    只要几分钟。SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件。SMTP
    是一种TCP协议支持的提供可靠且有效电子邮件传输的应用层协议。

    • 工作过程

    首先,运行在发送端邮件服务器主机上的SMTP客户,发起建立一个到运行在接收端邮件服务器主机上的
    SMTP服务器端口号25之间的TCP连接。如果接收邮件服务器当前不在工作,SMTP客户就等待一段时间后再
    尝试建立该连接。

    2、SMTP命令和应答

    这里写图片描述
    SMTP使用一些命令和应答,在MTA客户和MTA服务器之间进行之间传输报文。如下图所示,为SMTP主要的命令和应答:
    这里写图片描述

    3、邮件报文的封装和报文格式

    SMTP协议可以将互联网邮件报文封装在邮件对象中。SMTP协议的邮件对象由两个部分组成:信封和内容。

    • 信封实际上是一种SMTP命令。
    • 邮件报文是邮件对象中的内容,它又有首部和主体两个部分。
      如下图就是一个邮件对象的组成的示例:
      这里写图片描述

    下面是写进了RFC文档的对报文格式的定义:

    
     1. 所有报文都是由ASCII码组成
     2. 报文由报文行组成,各行之间用回车(CR)、换行(LF)符分隔
     3. 报文的长度不能超过998个字符
     4. 报文行的长度≤78个字符之内(不包括回车换行符)
     5. 报文中可包括多个首部字段和首部内容
     6. 报文可包括一个主体,主体必须用一个空行与其首部分隔
     7. 除非需要使用回车与换行符,否则报文中不使用回车与换行符
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    4、邮件报文的传送过程

    • 连接建立
    SMTP客户和SMTP服务器首先要建立TCP连接。
    
     1. 从客户端使用熟知端口号25建立与服务器的TCP连接,SMTP服务器向该客户送回应答码220,并且还为客户端提供了服务器的域名
     2. 客户端收到应答码后,发送HELO命令,启动客户端和服务器之间的SMTP会话。该客户端发送的HELO用来向服务器提供客户端的标识信息
     3. 服务器端回应应答码250,通知客户端:请求建立邮件服务会话已经实现
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    -报文发送

    在SMTP客户与SMTP服务器之间的连接建立之后,发信的用户就可以与一个或多个收信人交换邮件报文了。
    
     1. 客户用“MAIL FROM”向服务器报告发信人的邮箱与域名
     2. 服务器向客户回应应答码“250”,代表请求命令完成
     3. 客户用“RCPT TO”命令向服务器报告收信人的邮箱与域名
     4. 服务器向客户回应应答码“250”,代表请求命令完成
     5. 客户用“DTAT”命令对报文的传送进行初始化
     6. 服务器回应“354”,表示可以进行邮件输入了
     7. 客户用连续的行向服务器传送报文的内容,每行以两字符的行结束标识(CR与LF)终止。报文以只有一个“.”的行结束
     8. 服务器向客户回应应答码“250”,代表请求命令完成
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 连接终止
    报文发送完毕后终止本次SMTP会话。
    
     - 客户端发送“QUIT”命令
     - 服务器收到命令后,回应应答码“221”,并结束会话
    
    • 1
    • 2
    • 3
    • 4
    • 5

    下面,我们模拟上述三个步骤,对下面这个邮件报文进行传输:
    这里写图片描述

    • 建立连接
      这里写图片描述
    • 传输报文
      这里写图片描述
    • 终止连接
      这里写图片描述

    5、SMTP协议的扩展协议:MIME

    MIME不属于一个邮件传输协议,它只是对SMTP的一个扩展,不能替代SMTP协议,至于为啥要替换SMTP了。主要是因为SMTP协议在传输报文时,只能够传输7位的ASCII格式的报文,不支持那些不使用7位ASCII格式的语种,同时它也不支持语音和视频数据的传输,因此我们需要一个辅助性协议帮忙传输报文,它就是MIME。

    MIME协议定义了5种头部,用来加在原始的STMP头部,以便定义参数的转换。他们分别是:

    
     1. MIME-Version:MIME版本
     2. Content-Type:内容类型
     3. Content-Tansfer-Encoding:内容传输编码
     4. Content-ID:内容标识
     5. Content-Description:内容描述
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    如下图所示,就是一个MIME邮件报文格式:
    这里写图片描述

    展开全文
  • SMTP 协议

    2018-06-12 16:07:04
    SMTP是Simple Mail Transfer Protocol的缩写,即简单邮件传输协议,是一种提供有效可靠传送电子邮件的协议,用于在两台邮件服务器间交换邮件。 负责发送邮件的服务器称为SMTP客户,负责接收邮件的服务器称为SMTP...

    常见问题

    1. SMTP是什么?有什么作用?
      SMTP是Simple Mail Transfer Protocol的缩写,即简单邮件传输协议,是一种提供有效可靠传送电子邮件的协议,用于在两台邮件服务器间交换邮件。
      负责发送邮件的服务器称为SMTP客户,负责接收邮件的服务器称为SMTP服务器. 例如本动画中SMTP-1是客户,SMTP-2是服务器. 如果 Alice采用用户代理形式,则用户代理是客户,SMTP-1是服务器.
    2. 什么是SMTP命令和应答?
      SMTP客户使用命令把邮件信息传送到服务器。共有4个字母组成,例如MAIL命令传送发件人信息,DATA传送邮件内容等.服务器使用应答对此回应,由3个数字后面附上简单的文字说明组成,例如”250 OK” 表示同意客户发来的命令。
    3. 为什么发送邮件前先发送RCPT 命令而不是直接发送邮件?
      先发送RCPT命令的目的是为了弄清服务器是否做好接收邮件的准备,然后才发送邮件. 这样避免浪费网络资源,不致于发送了很长的邮件后才发现收件人帐户有问题,例如查无此人、信箱存储空间不够.
    4. 邮件服务器间邮件传输使用了TCP协议,为何邮件有时还会丢失?
      邮件服务器之间的SMTP协议使用TCP连接,可以保证邮件准确无误地在邮件服务器之间传输. 但由于邮件服务器本身的故障,例如邮件空间不足等,会导致邮件无法完成传输而导致丢失.
    5. 发件人用户代理为何不直接将邮件发送给收件人的用户代理,而是通过邮件服务器来传输?
      因为用户电脑、手机性能有限,无法运行收发邮件的程序,并且无法不间断地运行并连接到互联网上. 因此只能将信件暂时存放在邮件服务器中,用户需要时就可以去下载信件.
    6. 为什么用户收发邮件时感觉不到SMTP过程?
      如果用户使用用户代理软件,则这个复杂的过程被用户代理屏蔽了,用户只需要进行简单的发送操作就可完成邮件的发送. 如果用户使用Web方式,则所有过程都由邮件服务器完成.

    补充链接:https://blog.csdn.net/bripengandre/article/details/2191048

    展开全文
  • SMTP协议分析

    千次阅读 2017-04-21 10:06:17
     SMTP(Simple Mail Transfer Protocol):简易邮件传输通讯协议 SMTP是互联网上的一种通讯协议,主要功能是用在传送电子邮件,当我们通过电子邮件程序,寄E-mil给另外一个人时,必须通过SMTP通讯协议,将邮件送
    一、协议简介
    二、SMTP命令
    三、SMTP响应
    四、SMTP代理和SMTP服务器的通信过程分析

    一、协议简介

          SMTP(Simple Mail Transfer Protocol):简易邮件传输通讯协议 SMTP是互联网上的一种通讯协议,主要功能是用在传送电子邮件,当我们通过电子邮件程序,寄E-mil给另外一个人时,必须通过SMTP通讯协议,将邮件送到对方的邮件服务器上,等到对方上网的时候,就可以收到你所寄的信。与POP同时出现的还有SMTP,它也是用来传送网络上的电子邮件,不同的是POP是负责邮件程序和邮件服务器收信的通讯协定,SMTP则是负责邮件服务器与邮件服务器之间的寄信的通讯协定。


    二、SMTP命令
    4.1.1. 命令语法 
      SMTP命令定义了邮件传输或由用户定义的系统功能。它的命令是由<CRLF>结束的字符串。而在带有参数的情况下,命令本身由<SP>和参数分开,如果未带参数可以直接和<CRLF>连接。邮箱的语法格式必须和接收站点的格式一致。下面讨论SMTP命令和应答。
      发送邮件操作涉及到不同的数据对象,它们由不同的参数相互连接。回复路径就是MAIL命令的参数,而转发路径则是RCPT命令的参数,邮件日期是DATA命令的参数。这些参数或者数据对象必须跟在命令后。这种模式也就要求有不同的缓冲区来存储这些对象,也就是说,有一个回复路径缓冲区,一个转发路径缓冲区,一个邮件内容缓冲区。特定的命令产生自己的缓冲区,或使一个或多个缓冲的内容被清除。
      HELLO (HELO)
      此命令用于向接收SMTP确认发送SMTP。参数域包括发送SMTP的主机名。接收SMTP通过连接确认命令来向发送SMTP确认接收SMTP。引命令和OK响应确认发送和接收SMTP进入了初始状态,也就是说,没有操作正在执行,所有状态表和缓冲区已经被子清除。
      MAIL (MAIL) 
      此命令用于开始将邮件发送到一个多个邮箱中。参数域包括回复路径。返回路径中包括了可选的主机和发送者邮箱列表。当有主机列表时,它是一个回复路径源,它说明此邮箱是由在表中的主机一一传递发送(第一个主机是最后一个接收到此邮件的主机)过来的。此表也有作向发送者返回非传递信号的源路径。因为每个传递主机地址都被加在此表起始处,它就必须使用发送IPCE而不是接收IPCE(如果它们不是一个IPCE的话)清楚的名称。一些出错信息的回复路径可能就是空的。
      此命令清除回复路径缓冲区,转发路径缓冲区和邮件内容缓冲区,并且将此命令的回复路径信息插入到回复路径缓冲区中。
      RECIPIENT (RCPT)
      此命令用于确定邮件内容的唯一接收者;多个接收者将由多个此命令指定。转发路径中包括一个可选的主机和一个必须的目的邮箱。当出现主机列表时,这就是一个源路径,它指明邮件必须向列表中的上一个主机发送。如果接收SMTP未实现邮件的传递发送,就会返回如未知本地用户(550)的信息给用户。
      当邮件被传递发送时,传递主机必须将自己的名称由转发路径的开始处移至回复路径的结束处。当邮件最终到达目的地时,接收SMTP将以它的主机邮件格式自己的名称插入目标邮件中。例如,由传递主机A接收的带有如下参数的邮件时,
      FROM:<USERX@HOSTY.ARPA>
      TO:<@HOSTA.ARPA,@HOSTB.ARPA:USERC@HOSTD.ARPA>
      将会变成如下形式:
      FROM:<@HOSTA.ARPA:USERX@HOSTY.ARPA>
      TO:<@HOSTB.ARPA:USERC@HOSTD.ARPA>.
      此命令导致它的转发路径参数加入转发路径缓冲区中。
      DATA (DATA)
      接收者将跟在命令后的行作为邮件内容。此命令导致此命令后的邮件内容加入邮件内容缓冲区。邮件内容可以包括所有128个ASCII码字符。邮件内容由只包括一个句号的行结束,也就是如下的字符序列:"<CRLF>.<CRLF>",它指示了邮件的结束。
      邮件内容的结束指示要求接收者现在就处理保存的邮件内容。此过程将回复路径缓冲区,转发路径缓冲区和邮件内容缓冲区的内容全部清空。如果操作成功,接收者必须返回OK应答;如果失败也必须返回失败应答。
      当接收SMTP收到一条信息时,无论是用作转发还是此邮件已经到达目的地,它都必须在邮件内容的开始处加上时间戳这一行,这一行指示了接收到邮件主机和发出此邮件主机的标识,以及接收到邮件内容的时间和日期。转发的信件将有多行这样的时间戳。当接收SMTP作最后一站的传送时,它将返回路径信息行插入邮件中。此行包括了发送命令中的<reverse-path>的信息。在这里,最后一站的传送的意思是邮件将被送到目的用户手中,但在一些情况下,邮件可能需要更进一步的加工并由另外的邮件系统传送。
      可能在返回路径中的邮箱与实际发送的邮件不一致,这个情况可能发生在需要传送一个特定的错误处理信箱而不是信件发送者那里。上面所述说明了,最后的邮件内容由一个返回路径行,和在其后的一个或多个时间戳行构成。这些行后面是邮件内容的头和体信息。
      当处理后面的邮件数据指示部分成功时就需要特定的说明。这种情况可能发生在发送SMTP发现当邮件需要传送给多个用户时,只能够成功地向其中的一部分发送信息这种情况下。在这种情况下,必须对DATA命令发送OK应答,而接收SMTP组织并发送一个"不可传递邮件"信息到信息的发送者。在此信息中或者发送一个不成功接收者的列表,或者每次发送一个不成接收者,而发送多次。所有不可传递邮件信息由MAIL命令发送。
      返回路径和接收时间戳例子
      Return-Path: <@GHI.ARPA,@DEF.ARPA,@ABC.ARPA:JOE@ABC.ARPA>
      Received: from GHI.ARPA by JKL.ARPA ; 27 Oct 81 15:27:39 PST
      Received: from DEF.ARPA by GHI.ARPA ; 27 Oct 81 15:15:13 PST
      Received: from ABC.ARPA by DEF.ARPA ; 27 Oct 81 15:01:59 PST
      Date: 27 Oct 81 15:01:01 PST 
      From: JOE@ABC.ARPA 
      Subject: Improved Mailing System Installed 
      To: SAM@JKL.ARPA 

      This is to inform you that ... 
      SEND (SEND)
      此命令用于开始一个发送命令,将邮件发送到一个或多个终端上。参数域包括了一个回复路径,此命令如果成功就将邮件发送到终端上了。 
      回复路径包括一个可选的主机列表和发送者邮箱。当出现主机列表时,表示这是一个传送路径,邮件就是经过这个路径上的每个主机发送到这里的(列表上第一个主机是最后经手的主机)。此表用于返回非传递信号到发送者。因为每个传递主机地址都被加在此表起始处,它就必须使用发送IPCE而不是接收IPCE(如果它们不是一个IPCE的话)清楚的名称。一些出错信息的回复路径可能就是空的。
      此命令清除回复路径缓冲区,转发路径缓冲区和邮件内容缓冲区,并且将此命令的回复路径信息插入到回复路径缓冲区中。
      SEND OR MAIL (SOML)
      此命令用于开始一个邮件操作将邮件内容传送到一个或多个终端上,或者传送到邮箱中。对于每个接收者,如果接收者终端打开,邮件内容将被传送到接收者的终端上,否则就送到接收者的邮箱中。参数域包括回复路径,如果成功地将信息送到终端或邮箱中此命令成功。
      回复路径包括一个可选的主机列表和发送者邮箱。当出现主机列表时,表示这是一个传送路径,邮件就是经过这个路径上的每个主机发送到这里的(列表上第一个主机是最后经手的主机)。此表用于返回非传递信号到发送者。因为每个传递主机地址都被加在此表起始处,它就必须使用发送IPCE而不是接收IPCE(如果它们不是一个IPCE的话)清楚的名称。一些出错信息的回复路径可能就是空的。
      此命令清除回复路径缓冲区,转发路径缓冲区和邮件内容缓冲区,并且将此命令的回复路径信息插入到回复路径缓冲区中。
      SEND AND MAIL (SAML)
      此命令用于开始一个邮件操作将邮件内容传送到一个或多个终端上,并传送到邮箱中。如果接收者终端打开,邮件内容将被传送到接收者的终端上和接收者的邮箱中。参数域包括回复路径,如果成功地将信息送到邮箱中此命令成功。
      回复路径包括一个可选的主机列表和发送者邮箱。当出现主机列表时,表示这是一个传送路径,邮件就是经过这个路径上的每个主机发送到这里的(列表上第一个主机是最后经手的主机)。此表用于返回非传递信号到发送者。因为每个传递主机地址都被加在此表起始处,它就必须使用发送IPCE而不是接收IPCE(如果它们不是一个IPCE的话)清楚的名称。一些出错信息的回复路径可能就是空的。
      此命令清除回复路径缓冲区,转发路径缓冲区和邮件内容缓冲区,并且将此命令的回复路径信息插入到回复路径缓冲区中。
      RESET (RSET)
      此命令指示当送邮件操作将被放弃。任何保存的发送者,接收者和邮件内容应该被抛弃,所有缓冲区和状态表应该被清除,接收方必须返回OK应答。
      VERIFY (VRFY)
      此命令要求接收者确认参数是一个用户。如果这是(已经知道的)用户名,返回用户的全名和指定的邮箱。此命令对回复路径缓冲区,转发路径缓冲区和邮件内容缓冲区没有影响。
      EXPAND (EXPN)
      此命令要求接收者确认参数指定了一个邮件发送列表,如果是一个邮件发送列表,就返回表中的成员。如果这是(已经知道的)用户名,返回用户的全名和指定的邮箱。此命令对回复路径缓冲区,转发路径缓冲区和邮件内容缓冲区没有影响。
      HELP (HELP)
      此命令导致接收者向HELP命令的发送者发出帮助信息。此命令可以带参数,并返回特定的信息作为应答。此命令对回复路径缓冲区,转发路径缓冲区和邮件内容缓冲区没有影响。
      NOOP (NOOP) 
      此命令不影响任何参数和已经发出的命令。它只是说明没有任何操作而不是说明接收者发送了一个OK应答。此命令对回复路径缓冲区,转发路径缓冲区和邮件内容缓冲区没有影响。
      QUIT (QUIT)
      此命令指示接收方必须发送OK应答然后关闭传送信道。接收方在接到QUIT命令并做出响应之前不应该关闭通信信道。发送方在发送QUIT命令和接收到响应之前也不应该关闭信道。即使出错,也不应该关闭信道。如果连接被提前关闭,接收方应该象接收到RSET命令一样,取消所有等待的操作,但不恢复原先已经做过的操作。而发送方应该象接收到暂时错误(4XX)一样假定命令和操作仍在支持之中。
      TURN (TURN)
      此命令指定接收方要么发送OK应答并改变角色为发送SMTP,要么发送拒绝信息并保持自己的角色。如果程序A现在是发送SMTP,它发出TURN命令后接收到OK(250)应答,它就变成了接收SMTP。程序A就进入初始状态,好象通信信道刚打开一样,这时它发送220准备好服务信号。如果程序B现在是接收SMTP,它发出TURN命令后接收到OK(250)应答,它就变成了发送SMTP。程序A就进入初始状态,好象通信信道刚打开一样,这时它准备接收220准备好服务信号。
    若要拒绝改变角色,接收方可以发送502应答。
      对于这些命令的顺序有一定的限制。对话的第一个命令必须是HELLO命令,此命令在此后的会话中也可以使用。如果HELLO命令的参数不可接受,必须由返回一个501失败应答,同时接收到的SMTP必须保持在与刚才一致的状态下。 NOOP,HELP,EXPN和VRFY命令可以在会话的任何时候使用。MAIL,SEND,SOML或SAML命令开始一个邮件操作。一旦开始了以后就要发送RCPT和DATA命令。邮件操作可以由RSET命令终止。在一个会话中可以有一个或多个操作。
      如果在操作开始参数不可接受,必须返回501失败应答,同时接收到的SMTP必须保持在与刚才一致的状态下。如果操作中的命令顺序出错,必须返回503失败应答,同时接收到的SMTP必须保持在与刚才一致的状态下。
    会话的最后一个命令必须是QUIT命令。此命令在会话的其它时间不能使用。

    三、SMTP响应
          对SMTP命令的响应是多样的,它确定了在邮件传输过程中请求和处理的同步,也保证了发送SMTP知道接收SMTP的状态。每个命令必须有且只有一个响应。
      SMTP响应由三位数字组成,其后跟一些文本。数字帮助决定下一个应该进入的状态,而文本对人是有意义的。三位的响应已经包括了足够的信息,不用再阅读文本,文本可以直接抛弃或者传递给用户。特别的是,文本是与接收和环境相关的,所以每次接收到的文本可能不同。在附录E中可以看到全部的响应码。正规的情况下,响应由下面序列构成:三位的数字,<SP>,一行文本和一个<CRLF>,或者也可以是一个多行响应。只有EXPN和HELP命令可以导致多行应答,然而,对所有命令,多行响应都是允许的。
    4.2.1. REPLY CODES BY FUNCTION GROUPS 500 格式错误,命令不可识别(此错误也包括命令行过长)
    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 开始邮件输入,以<CRLF>.<CRLF>结束
    554 操作失败

    四、SMTP代理和SMTP服务器的通信过程分析
        下图是我用WireShark抓取的一次javamail代理和SMTP服务器的通信过程(11.12是javamail的ip地址,50.135是IMCP服务器的地址)


    具体分析:
    1、SMTP协议是基于TCP/IP协议的,所以通讯开始要进行tcp握手。
    2、SMTP服务器向javamail客户端发送 S: 220 163.com Anti-spam GT for Coremail System (163com[20141201]),表示服务器准备就绪。
    3、客户端发送C: EHLO ZGC-20120415XGV交换身份信息,打开通道。ZGC-20120415XGV是客户端主机名。
    4、服务器发送需要进行认证的信息,S: 250-mail | 250-PIPELINING | 250-AUTH LOGIN PLAIN | 250-AUTH=LOGIN PLAIN | 250-coremail 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UFjiwORUCa0xDrUUUUj | 250-STARTTLS | 250 8BITMIME
    5、进行用户名和密码认证

    6、发送邮件

    7、关闭信道,服务器返回总共收到的字节数

    8、TCP四次挥手,通讯结束

    参考资料:
    1、POP3,IMAP,SMTP的认识 http://blog.csdn.net/robin844/article/details/8200367
    2、javax.mail.jar 使用教程http://blog.csdn.net/xietansheng/article/details/51722660
    3、RFC 821中文版 http://man.chinaunix.net/develop/rfc/RFC821.txt
    4、SMTP协议分析 http://www.cnblogs.com/heiming/p/5949870.html
    5、Base64在线编码解码UTF-8: http://www1.tc711.com/tool/BASE64.htm
    6、Wireshark抓包分析POP3和SMTP协议: https://wenku.baidu.com/view/d83fbd5e10a6f524cdbf8519.html
    展开全文
  • 自己用java socket编程,按照smtp协议及pop3协议进行编写的服务器程序,是在Outlook Express上面可以完全运作的两个服务器,里面详细的写出了代码的注释,以及Outlook Express运行发送接收下载删除邮件操作的步骤........
  • 协议基础:SMTP:使用Telnet学习SMTP协议

    万次阅读 多人点赞 2018-07-30 20:05:50
    SMTP是简单邮件传输协议的缩写,这篇文章将通过如何使用telnet命令发生邮件结合RFC文档来学习一下SMTP协议的基础知识。 OSI模型 &amp;amp;amp;amp; SMTP SMTP vs POP3 &amp;amp;amp;amp; IMAP SMTP和...
  • smtp 协议 MIME协议

    千次阅读 2016-10-21 10:13:43
    SMTP是一种提供可靠且有效的电子邮件传输的协议SMTP是建立在FTP文件传输服务上的一种邮件服务,主要用于系统之间的邮件信息传递,并提供有关来信的通知。SMTP独立于特定的传输子系统,且只需要可靠有序的数据流...
  • 通过对“基于SMTP协议的邮件发送客户端程序”的系统分析、系统设计、编码、调试等工作的实践,了解基于TCP/IP协议的网络编程的一般设计和实现思路,熟悉和掌握软件设计和实现的一般方法,深入了解邮件传输协议的基本...
  • 以课件形式讲述SMTP协议和POP3协议,并分析数据
  • 基于邮件交换(MX)与SMTP协议发送邮件,可以无须SMTP服务器中转直接将E-Mail电子邮件发送到对方邮箱,代码中提供了网卡信息获取类,可以获取本机IP地址、子网掩码、DNS、Wins、网卡MAC地址等相关信息;还提供了SMTP协议...
  • SMTP协议详解

    万次阅读 2017-05-01 20:02:21
    在以前接触的项目中,一直都是在做网站时用到了发送mail 的功能,在asp 和.net 中都有相关的发送mail 的类, 实现起来非常简单。最近这段时间因工作需要在C++ 中使用发送mail 的功能,上网搜了一大堆资料,终于得以...
  • SMTP协议介绍

    万次阅读 多人点赞 2017-04-03 17:13:46
    1、SMTP介绍 ...SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件 时找到下一个目的地。通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,整个过程 只要几分钟。SMTP服务器则
  • 易语言简单SMTP协议源码,简单SMTP协议,等待数据,发送字符,断开,BASE64编码
  • 易语言Smtp协议应答机制源码,Smtp协议应答机制,数据到达,上线事件,取中间,pq完整解码,十六进制文本到字节集,UTF8转GBK,BASE64解码

空空如也

1 2 3 4 5 ... 20
收藏数 10,929
精华内容 4,371
关键字:

smtp协议