这个程序是这样的:vb连接pop3服务器,然后读取上面的邮件。每一封邮件会被存成一个txt文件放在本地硬盘上。但是有时候一封邮件不能完整地被保存下来,只能存一半,另外一半被存在了另外一个txt文件里。不管是长邮件还是短邮件都会发生这种情况。这到底是怎么回事?下面是我的代码。请高手指教。  
Public  i  As  Integer  
Public  msgCount  As  Integer  
Public  NumOfMail  As  Integer  
Private  Sub  Command1_Click()  
         
       sockEmail.Close  
       sockEmail.RemoteHost  =  "pop3服务器"  
       sockEmail.RemotePort  =  110  
       sockEmail.Connect  
       Do  Until  sockEmail.State  =  sckConnected  
               DoEvents:  DoEvents:  DoEvents  
       Loop  
 End  Sub  Private  Sub  sockEmail_DataArrival(ByVal  bytesTotal  As  Long)  
Dim  sdata  As  String  
Dim  strbuffer  As  String  
Dim  filename  As  String  
sockEmail.GetData  sdata,  vbString  
If  Left(sdata,  1)  =  "+"  Or  i  =  4  Then  
   Select  Case  i  
       Case  0  
               i  =  1  
               sockEmail.SendData  "USER  "  &  "用户名"  &  vbCrLf  
                                                               
       Case  1  
               i  =  2  
               sockEmail.SendData  "PASS  "  &  "密码"  &  vbCrLf  
                 
       Case  2  
               i  =  3  
               sockEmail.SendData  "STAT"  &  vbCrLf  
                                           
       Case  3  
               NumOfMail  =  CInt(Mid(sdata,  5,  InStr(5,  sdata,  "  ")  -  5))  
               If  NumOfMail  >  0  Then  
                     msgCount  =  msgCount  +  1  
                     sockEmail.SendData  "RETR  1"  &  vbCrLf  
                     i  =  4  
               Else  
                     sockEmail.SendData  "QUIT"  &  vbCrLf  
                     sockEmail.Close  
                     Exit  Sub  
               End  If  
                 
         Case  4  
                 
                     strbuffer  =  strbuffer  &  sdata  
                     filename  =  "message"  &  msgCount  &  ".txt"  
                     Open  CurDir  &  "\"  &  filename  For  Output  As  #1  
                     Print  #1,  strbuffer  
                     Close  #1  
               
                 strbuffer  =  ""  
                 msgCount  =  msgCount  +  1  
                 sockEmail.SendData  "RETR  "  &  msgCount  &  vbCrLf  
                 i  =  4  
                 If  msgCount  >  NumOfMail  Then  
                       sockEmail.SendData  "QUIT"  &  vbCrLf  
                       sockEmail.Close  
                       Exit  Sub  
                 End  If  
       End  Select  
End  If  
End  Sub