SMTP —— 简单邮件传输协议

SMTP(简单邮件传输协议) 是一种用于客户机向邮件服务器或者是不同的邮件服务器之间发送文件的一种邮件传输协议。SMTP是一个“推”的协议,它不允许根据需要从远程服务器上“拉”来消息。要做到这点,邮件客户端必须使用POP3或IMAP。另一个SMTP服务器可以使用ETRN在SMTP上触发一个发送。【百度百科】

细节性问题:SMTP服务器使用的端口号为25,说明:这个在使用telnet登录邮件服务器的时候,需要用到端口号。协议基于tcp连接,使用tcp的原因是保证可靠的数据传输

数据传输的大体过程为:

客户端与服务器端建立起tcp连接,一旦连接建立成功,服务器会返回“220 server ready (服务就绪)”的应答

客户端接受到了应答后,向服务器发送“helo”命令,并且在该命令后面加上客户端的主机名,登录时需要填写用户名和密码。在telnet中先进行用户名,后进行密码输入。

若服务器不可用,会返回“421 server not available (服务器不可用)”应答,本次邮件传输失败,否则返回“250 ok”,

客户端收到这个应答后,向服务器发送“mail ”命令,并在该命令后附加上发件人的邮箱地址。

若服务器不可用,则会返回具体的原因,比如452(存储空间不够用),500(命令无法识别)本次邮件传输失败,否则返回“ 250 ok”应答

客户端会发送一个或者多个的“rcpt”命令,(对应的是一个或者是多个的接受者情况)

客户端每次发送一个“rcpt”命令时,服务器都会返回相应的应答,如果处理失败,会返回相应的状态码,(比如“550 no such  user here”说明邮件发送失败);否则返回“250 OK”应该。

客户端发送“data”命令,表示开始传送邮件了。

若服务器无法接收邮件,回复那会具体的原因,本次邮件发送失败,否则,服务器会返回“354 start mail input;end with \r\n . \r\n”。

客户端收到这个回应后,就开始发送邮件的首部和正文部分了,发送完成后,再次发送“\r\n . \r\n”以通告服务器邮件传输完成

如果服务器正确接受了邮件,则会返回“250 ok”应答

邮件发送完成后,客户端发送“quit”命令

服务器返回“221” 表示同意释放tcp连接

双方释放tcp连接,通信过程结束。

推荐邮件客户端 Foxmail(腾讯副总裁张小龙的作品,顺便说一下,微信也是他的原作,只是被腾讯收买。了不起的人物)

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值