【计算机网络】:SMTP协议详解(如何在控制台发邮件)
2015-12-01 00:42
609 查看
SMTP的连接和发送过程
(a)建立TCP连接
(b)客户端发送HELO命令以标识发件人自己的身份,然后客户端发送MAIL命令;
(c)客户端发送RCPT命令,以标识该电子邮件的计划接收人,可以有多个RCPT行;
(d)协商结束,发送邮件,用命令DATA发送
(e)以.表示结束输入内容一起发送出去
(f)结束此次发送,用QUIT命令退出
附上控制台的相关代码:
(a)建立TCP连接
(b)客户端发送HELO命令以标识发件人自己的身份,然后客户端发送MAIL命令;
服务器端正希望以OK作为响应,表明准备接收
(c)客户端发送RCPT命令,以标识该电子邮件的计划接收人,可以有多个RCPT行;
服务器端则表示是否愿意为收件人接收邮件
(d)协商结束,发送邮件,用命令DATA发送
(e)以.表示结束输入内容一起发送出去
(f)结束此次发送,用QUIT命令退出
附上控制台的相关代码:
C: telent SMTP.163.com 25 //以telenet方式连接163邮件服务器 S: 220 163.com Anti-spam GT for Coremail System //220为响应数字,其后的为欢迎信息 C: HELO SMTP.163.com //除了HELO所具有的功能外,EHLO主要用来查询服务器支持的扩充功能 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
相关文章推荐
- 【计算机网络】:应用层复习
- VirtualBox网络配置
- x-code7 网络连接遇到的问题
- Android 下载网络图片
- linux 编译安装 httpd 笔记
- Linux网络管理
- HttpClient使用总结
- HTTP协议详解
- TCP与UDP的区别
- UILabel详解 转载于 Triple_Vip http://blog.csdn.net/zhaopenghhhhhh/article/details/16331041
- Linux中TCP连接过程状态简介
- 神经网络(9)--如何求参数: backpropagation algorithm(反向传播算法)
- 工业4.0时代,怎样为孩子筹备未来教育?
- 使用Swift调用AFNetworking进行网络请求
- C++网络服务器编程的学习路线?
- Android 网络开源库-Retrofit(一)简单介绍
- UNIX网络编程练习-传递结构体做为参数
- TCP/IP (四) TCP连接的关闭
- App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure.
- 神经网络学习 之 BP神经网络