您的位置:首页 > 产品设计 > UI/UE

unicode邮件发送程序最后发送quit失败

2010-01-08 23:20 344 查看
 

、、、、、、、、、、、、

    
//

界尾

    
strTmp
="--"
;

    
strTmp
+=BOUNDARY
;

    
strTmp
+="--/r/n./r/n"
;

 

    
if
(send
(m_SOCKET
,(CStringA
)strTmp
,strTmp
.GetLength
(),0) == SOCKET_ERROR
)

    
{

        
ReleaseSocket
();

        
AfxMessageBox
(_T
("error9"
));

        
return
false
;

    
}

    
if
(!CheckResponse
("250"
))

    
{

        
AfxMessageBox
(_T
("error"
));

        
return
false
;

    
}

    
//

退出

    
strTmp
="QUIT/r/n"
;

    
if
(send
(m_SOCKET
,/*"QUIT/r/n"*/
(CStringA
)strTmp
,strTmp
.GetLength
(),0)
== SOCKET_ERROR
)

    
{

        
ReleaseSocket
();

        
return
false
;

    
}

    
if
(!CheckResponse
("221"
))

    
{

        
return
false
;

    
}

    
ReleaseSocket
();

    
return
true
;

}

BOOL
CMail
::CheckResponse
(const
char
* RecvCode
)

{

    
try

    
{

        
char
Buf
[1024]={0};

        
if
(recv
(m_SOCKET
,Buf
,1024,0)
== SOCKET_ERROR
)

        
{

             
return
false
;

        
}

        
return
RecvCode
[0]
== Buf
[0] && /

             
RecvCode
[1] == Buf
[1]
&& /

             
RecvCode
[2] == Buf
[2]
? true
: false
;

    
}

    
catch
(...)

    
{

        
return
false
;

    
}

}

 

我写了一个邮件发送程序在VC6.0上面能够成功运行,现在移植到VS2008上面要使用UNICODE编码,跟踪后一直运行到
//

界尾

都是正常的能够收到250消息,但是发送
//

退出
消息时收不到
221

回应我用抓包工具找到服务器发回来的211bye但是为什么程序

还是出问题呢,是不是最后校验的时候出了问题了还是怎么回事,希望高手能够指点,谢谢!

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  socket 服务器 工具