美文网首页
MATP协议

MATP协议

作者: zzkdev | 来源:发表于2018-03-13 00:10 被阅读0次

    定义

    SMTP 是一种TCP协议支持的提供可靠且有效电子邮件传输的应用层协议。SMTP 是建立在 TCP上的一种邮件服务,主要用于传输系统之间的邮件信息并提供来信有关的通知,使用25端口。

    过程

    (1)建立TCP 连接。
    (2)客户端发送HELO命令以标识发件服务器域名,服务器端以OK作为响应,表示准备接收。(HELO命令现在比较少用,一般都使用EHLO命令,邮件服务器收到EHLO命令以后,不仅会返回250状态码,还会返回自己支持的各种扩展的列表。)
    (3)客户端发送AUTH LOGIN请求认证,输入base64编码了的用户名和密码
    (4)客户端发送MAIL和RCPT命令,以标识该电子邮件的计划接收人和发送者,可以有多个RCPT行;服务器端则表示是否愿意为收件人接收邮件。
    (5)协商结束,发送邮件,用命令DATA发送。
    (6)以“.”号表示结束输入内容一起发送出去,结束此次发送,用QUIT命令退出。

    使用telnet连接演示

    C: telent SMTP.163.com 25  //以telenet方式连接163邮件服务器  
    S: 220 163.com Anti-spam GT for Coremail System //220为响应数字,其后的为欢迎信息  
    C: HELO SMTP.163.com //跟服务器打招呼
    S: 250-mail  
    S: 250-AUTH LOGIN PLAIN  
    S: 250-AUTH=LOGIN PLAIN  
    S: 250 8BITMIME //最后一个响应数字应答码之后跟的是一个空格,而不是'-'   
    C: AUTH LOGIN   //请求认证  
    S: 334 dxNlcm5hbWU6  //服务器的响应——经过base64编码了的“Username”=  
    C: Y29zdGFAYW1heGl0Lm5ldA==  //发送经过BASE64编码了的用户名  
    S: 334 UGFzc3dvcmQ6  //经过BASE64编码了的"Password:"=  
    C: MTk4MjIxNA==  //客户端发送的经过BASE64编码了的密码  
    S: 235 auth successfully  //认证成功   
    C: MAIL FROM: bripengandre@163.com  //发送者邮箱  
    S: 250 … .  //“…”代表省略了一些可读信息  
    C: RCPT TO: bripengandre@smail.hust.edu.cn //接收者邮箱  
    S: 250 … .    // “…”代表省略了一些可读信息  
    C: DATA //请求发送数据  
    S: 354 Enter mail, end with "." on a line by itself  
    C: Enjoy Protocol Studing  
    C: .  
    S: 250 Message sent  
    C: QUIT //退出连接   
    S: 221 Bye
    

    常用命令

    HELO <domain> <CRLF>。向服务器标识用户身份。发送者能欺骗,说谎,但一般情况下服务器都能检测到,后用来填写返回域名(具体含义请参阅RFC821),但该命令并不检查后面的参数,用户可以随意填写
    
    MAIL FROM: <reverse-path> <CRLF>。<reverse-path>为发送者地址,此命令用来初始化邮件传输,即用来对所有的状态和缓冲区进行初始化。
    
    RCPT TO:<forward-path> <CRLF>。 <forward-path>用来标志邮件接收者的地址,常用在MAIL FROM后,可以有多个RCPT TO。
    
    DATA <CRLF>。将之后的数据作为数据发送,以<CRLF>.<CRLF>标志数据的结尾。
    
    REST <CRLF>。重置会话,当前传输被取消。
    
    NOOP <CRLF>。要求服务器返回OK应答,一般用作测试。
    
    QUIT <CRLF>。结束会话。
    

    相关文章

      网友评论

          本文标题:MATP协议

          本文链接:https://www.haomeiwen.com/subject/hvmofftx.html