开发手记

编程

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: :: :: 管理 ::
用socket连接pop3服务器,字符编码我采用Encoding.ASCII。
1. 发送指令 user <username>\r\n
得到+OK
2. 发送指令 pass <password>\r\n
得到+OK
3. 发送指令 list\r\n
这时,如果马上去socket.Receive(bytes),有时只能取得+OK\r\n,
而不能取得完整的数据包,虽然可以通过socket.Available进行判断到达的数据量,但有时还是取得错误的数据。
因此,在发送完 list 指令后,建议用Thread.Sleep(100)延迟一下,再去接收socket数据。
用retr <n>\r\n来接收邮件内容时,也最好建立延迟。

pop3服务器有超时时间限制,应几秒钟闲时就发个noop指令以保持连接。
posted on 2006-04-26 23:22  Calendar  阅读(456)  评论(0编辑  收藏  举报