Visual C++网络编程经典案例详解 第7章 邮件收发器 SMTP会话过程 发送命令与接收响应 发送SMTP命令 将命令DATA发送到服务器

用户使用函数send()将命令DATA发送到服务器

char *send; 
CString str="DATA\r\n"; //定义命令字符串
sockaddr_in addr; //定义网络地址结构对象

addr.sin_family=AF_INET; //为地址结构中的成员赋值
addr.sin_port=htons(25);
host=gethostbyname("mail.163.com"); //从服务器名获取主机地址
addr.sin_addr.S_un.S_addr=inet_addr(host->h_addr_list[0]);
//设置SMTP服务器的地址
s=::socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
//创建套接字
if(connect(s,(sockaddr*) &addr,sizeof(addr)))
//连接SMTP服务器
{
	recv(s,(LPSTR)recvbuff,3,0);//接收响应码前3位数字
	if(recvbuff[0]=220)//提示用户服务器就绪
	{
		send=str.GetBuffer(1); //获取字符串首地址
		send(s,&send,sizeof(send),0); //发送字符串
	}
}

实例程序中
用户首先发送连接请求到服务器并且等待服务器的响应
如果返回的响应码是220
则表示服务器接受客户端的请求并准备就绪
接着,客户端便可以将命令字符串通过套接字发送到服务器执行

猜你喜欢

转载自blog.csdn.net/eyetired/article/details/89282502
今日推荐