Poblema con lettura posta

sabato 16 gennaio 2010 - 21.14

alexvt Profilo | Newbie

Come non detto ho risolto da solo infatti il Server di posta e' lento nel rispondere quindi ho messo un wait nella procedura e va tutto ok .



Allora ho preso l'ottimo articolo di Giovanni Ferron :
http://www.dotnethell.it/articles/POP3.aspx

Tutto perfettro pero' nun funziona nel senso che 1 volta ogni tanto riesce a darmi il numero di messaggi nella MailBox per il resto mi risponde sempre OK e invece mandandolo 2 volte la seconda risponde correttamente come se non gli piacesse il primo comando list o avesse un certo ritardo nel risponder , ho come l'impressione che io abbia fatto qualche errore impostando le dimensioni del Buffer da leggere , ma non riesco a capire dove ........ Help Me , per conoscenza pubblico il codice che ho scritto , cosi' se qualche anima pia riesce a capire dove e' l'errore . Dimenticavo il provvider e' aruba e con un sessione Telnet riesco a fare tutto .

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
scktcpclient.Connect("Pop3.rentissimo.net", 110)
sckstreamsocket = scktcpclient.GetStream()
Dim byteServer(scktcpclient.ReceiveBufferSize) As Byte
sckstreamsocket.Read(byteServer, 0, byteServer.Length)

Dim myString As String
myString += System.Text.Encoding.ASCII.GetString(byteServer)
If Microsoft.VisualBasic.Left(myString, 3) = "+OK" Then
Dim contus As String = chiama("USER XX")
Dim contu1 As String = chiama("PASS XXX")

Dim STATIS As String = chiama("STAT")
Dim lista As String = chiama("LIST ")
Dim lista1 As String = chiama("LIST ")
MsgBox(list)

End If

End Sub
Public Function chiama(ByVal comando As String)
Dim ritorno As String
Dim bytecommand(scktcpclient.ReceiveBufferSize) As Byte
Dim esegui As String = comando + vbCrLf
bytecommand = System.Text.Encoding.ASCII.GetBytes(esegui)
sckstreamsocket.Write(bytecommand, 0, bytecommand.Length)
Dim value As Integer
value = scktcpclient.ReceiveBufferSize
Dim byteServer1(value) As Byte
sckstreamsocket.Read(byteServer1, 0, value)
ritorno = System.Text.Encoding.ASCII.GetString(byteServer1)

Return ritorno
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5