Visual C++网络编程经典案例详解 第7章 邮件收发器 SMTP会话过程 smtp命令 常见smtp命令讲解

命令HELO是在邮件客户端连接服务器成功以后,
第一个发送到服务器的命令
作用是向SMTP服务器问候
例如客户端向服务器问候,并表明自己的身份。
内容如下

HELO lymlrl<crlf>

其中字符表示结束符号
以上内容表示客户端向服务器问候,
并且表明自己的身份

在vc中向服务器发送该命令
代码如下

...//省略部分代码
char sendmail[]=()"HELO lymlrl\r\n");//构造命令字符串
send(s,sendmmail,sizeof(sendmail),0);//发送命令到服务器
...//省略部分代码

命令MAIL/RCPT分别表示指定邮件的发送和接收者
例如

MAIL from:lymrl@163.com<crlf>
RCPT To:lymlrl@126.com<crlf>

上述分别指定了邮件的发送者和接收者的邮件地址

命令DATA是客户端发送到服务器,
表明客户端将要发送邮件到服务器。
服务器接到该命令后会返回SMTP响应码到客户端
表示服务器已经准备好接收客户端的邮件数据

命令VEFY是被用来验证某个邮件地址的有效性
例如
用户用该命令来验证自己的邮箱地址是否有效
则可以发送命令字符串"VRFY:lymlrl@163.com"到smtp服务器

如果该邮件地址是有效的地址
则服务器会返回响应码250
则表示客户端所请求的操作成功
否则返回450
表示邮件地址无效

命令QUIT表示终止服务器和客户端的会话
例如客户端向服务器发送该命令
代码如下

...//省略部分代码
char sendmail1[]=("QUIT\r\n");//构造命令字符串
send(s,sendmail,sizeof(sendmail),0);//发送命令到服务器
...//省略部分代码

当服务器接收到该命令以后
会返回响应码220到客户端
表示服务器已经关闭相关的数据通道

命令SSEND被用来指定邮件的发送者
在这里发送可以包括邮件的创建者或转发者
邮件的创建者只能为唯一
而转发者可以有多个
例如有一封邮件创建,
被某个用户所转发
该用户的邮件地址是wsds@126.com
那么响应的代码如下

...//省略部分代码
char sendmail[]={"SEND:wsds@126.com\r\n"};//构造命令字符串
send(s,sendmail,sizeof(sendmail),0);//发送命令到服务器
...//省略部分代码

服务器接收到该命令后
会返回响应码250表示成功

注意
命令在程序中被发送时必须加上换行符号
或者用户在构造完成整个邮件内容后
需要在邮件内容后面加上"\0"
表示数据内容发送或者接收完毕

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值