首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于C语言实现SMTP,该如何解决

2012-04-03 
关于C语言实现SMTP我之前验证过程已经无误,只是在发送数据时不能成功,对于QQSMTP 服务器返回354 END data

关于C语言实现SMTP
我之前验证过程已经无误,只是在发送数据时不能成功,对于QQSMTP 服务器返回354 END data whith <cr><lf>.<cr><lf>
而这一段的代码是

C/C++ code
char buf_5[100]="DATA\r\n";    send(hSocket,buf_5,strlen(buf_5),0);    //接受data之后的消息    memset(szRcvBuffer,0,1024);    recv(hSocket,szRcvBuffer,1024,0);    cout<<"发送DATA之后的消息"<<szRcvBuffer<<endl;    //发送数据消息确定主题    char buf_6[1024]="subject :Test Mail\r\n";    send(hSocket,buf_6,strlen(buf_6),0);        //显示发件人    char buf_8[102]="FROM:674026565@qq.com\r\n";    send(hSocket,buf_8,strlen(buf_8),0);    //显示收件人    char buf_9[100]="TO:2507731779@qq.com\r\n";    send(hSocket,buf_9,strlen(buf_9),0);    char buf_10[10]="    \r\n";    send(hSocket,buf_10,strlen(buf_10),0);    //发送quit消息    char buf_11[10]= " hehe.\r\n.";    int a=send(hSocket,buf_11,strlen(buf_11),0);    char  buf_7[20]="QUIT\r\n";    int b=send(hSocket,buf_7,strlen(buf_7),0);    //接受QUIT之后消息    memset(szRcvBuffer,0,1024);        recv(hSocket,szRcvBuffer,1024,0);    cout<<"QUIT之后的消息"<<szRcvBuffer<<endl;    closesocket(hSocket);

是不是在DATA结束后还要发个特定的字符以表示主体结束啊?求助。。。

[解决办法]
我原来写了一个SMTP的实现例子:你可以去参考,见我的博客
http://blog.csdn.net/kuzuozhou/article/details/7339945

热点排行