2011-01-14 6 views
0

Ich verwende diesen Code, um eine Verbindung zu meinem Exchange-Server mit POP3 herzustellen.Verbindung zum Exchange-Server

Ich versuche, einen Posteingang von grundsätzlich E-Mails, die nicht gelesen worden sind, aber ich bekomme gerade eine Menge Kauderwelsch und seine Lesung eine E-Mail abrufen.

Können Sie mir helfen, meinen Code zu ändern, um nur die neuesten Nachrichten zu lesen.

Try 
    tcpClient.Connect(hostName, 110) 
    Dim networkStream As NetworkStream = tcpClient.GetStream() 
    Dim bytes(tcpClient.ReceiveBufferSize) As Byte 
    Dim sendBytes As Byte() 

    networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize)) 

    sendBytes = Encoding.ASCII.GetBytes("User " + userName + vbCrLf) 
    networkStream.Write(sendBytes, 0, sendBytes.Length) 

    sTemp = networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize)) 

    sendBytes = Encoding.ASCII.GetBytes("Pass " + userPassword + vbCrLf) 
    networkStream.Write(sendBytes, 0, sendBytes.Length) 

    sTemp = networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize)) 

    sendBytes = Encoding.ASCII.GetBytes("STAT" + vbCrLf) 
    networkStream.Write(sendBytes, 0, sendBytes.Length) 

    sTemp = networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize)) 

    sendBytes = Encoding.ASCII.GetBytes("RETR " + messageNumber + vbCrLf) 
    networkStream.Write(sendBytes, 0, sendBytes.Length) 

    networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize)) 
    returnMessage = Encoding.ASCII.GetString(bytes) 
    EmailContent.Text = returnMessage 

    sendBytes = Encoding.ASCII.GetBytes("QUIT" + vbCrLf) 
    networkStream.Write(sendBytes, 0, sendBytes.Length) 

    tcpClient.Close() 
Catch ex As Exception 
    EmailContent.Text = "Could not retrieve email or your inbox is empty" 
End Try 

, wenn ich oben anstelle von Sche ich dieses

+OK X-MimeOLE: Produced By Microsoft Exchange V6.5 Received: by xch0p.com id <[email protected]>; Mon, 20 Sep 2010 09:17:07 -0500 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01CB58CE.81A6A4EA" Content-class: urn:content-classes:message Subject: What we need to do?? Date: Mon, 20 Sep 2010 09:17:07 -0500 Message-ID: <[email protected]> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: What we need to do?? Thread-Index: ActV7LH3Idm5VVuiRXqkVkVTKZy6fgC4Xsmw X-Priority: 1 Priority: Urgent Importance: high Sensitivity: Company-Confidential From: "Mooq" To: "Everyone " . 
+0

Welche Version von Exchange? Können Sie nicht einfach die Exchange-APIs verwenden, anstatt Low-Level-Netzwerkstreams auszuführen? –

+0

6.5 und ich bin nicht sicher, ich bin neu zu diesem – MyHeadHurts

+0

Du bist Code funktioniert eigentlich gut für mich. Erhalten Sie einen Fehler? Kannst du uns zeigen, was das "Kauderwelsch" ist? Ich habe keinen Exchange-Server, um es zu testen, aber ich habe es getestet, aber da Sie nur POP3 verwenden, sollte das keine Rolle spielen. –

Antwort

Verwandte Themen