日期:2012-11-18  浏览次数:20412 次

Imports System.IO
Imports System.Net
Imports System.Net.Sockets
……

Private Function Connect(ByVal strServer As String, ByVal strUser As String, ByVal strPwd As String) As NetworkStream
Dim Sender As New TcpClient(strServer, 110)
Dim OutBytes As Byte()
Dim input As String
Dim Ns As NetworkStream = Nothing

Try
Ns = Sender.GetStream()
Dim sr As New StreamReader(Ns)
input = "user " & strUser & vbCrLf
outbytes = System.Text.Encoding.ASCII.GetBytes(input)
Ns.Write(OutBytes, 0, OutBytes.Length)
Console.WriteLine(sr.ReadLine())
input = "pass " & strPwd & vbCrLf
OutBytes = System.Text.Encoding.ASCII.GetBytes(input)
Ns.Write(OutBytes, 0, OutBytes.Length)
Console.WriteLine(sr.ReadLine())
Console.WriteLine("==========================================================")
Return Ns
Catch ex As Exception
MsgBox("无法连接到服务器", MsgBoxStyle.Critical)
Return Ns
End Try
End Function

Private Function GetNumberOfNewMessages() As Integer
Dim OutBytes As Byte()
Dim input As String
Dim strTemp As String

GetNumberOfNewMessages = -1
Try
Dim Ns As NetworkStream = Connect("在这输入邮件服务器名称", "用户名", "密码")
If (Ns Is Nothing) Then Exit Function
Dim sr As New StreamReader(Ns)
input = "stat" & vbCrLf
OutBytes = System.Text.Encoding.ASCII.GetBytes(input)
Ns.Write(OutBytes, 0, OutBytes.Length)
Dim resp As String = sr.ReadLine()
Console.WriteLine(resp)
Dim tokens As String() = resp.Split(" ")
input = "quit" & vbCrLf
OutBytes = System.Text.Encoding.ASCII.GetBytes(input)
Ns.Write(OutBytes, 0, OutBytes.Length)
Console.WriteLine(sr.ReadLine())
sr.Close()
Ns.Close()
Return Val(tokens(1))
Catch ex As Exception
Console.WriteLine(ex.ToString)
End Try
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
dim intNew as Integer

intNew=GetNumberOfNewMessages()
msgbox "有" & cstr(intNew) & "封新邮件!"
End Sub