Connessione Pop3

sabato 10 giugno 2006 - 17.59

hydra Profilo | Junior Member

Ciao a tutti, mi sto cimentando con ASP.NET 2.0 per un piccolo progetto che ho in mente.
Sto iniziando a progettare una pagina che permetta di recuperare la lista delle email e le visualizzi, come se fosse un client di posta on line. Ho trovato in giro in rete alcune applicazioni, ma quasi tutte per winform, non per asp e quindi ho qualche problema di conversione (tenete conto che con asp sono alle prime armi)

Vi espongo quindi il mio problema:
Ho delle variabili dichiarate come segue

Public Servers As Net.Sockets.TcpClient
Public NetStrm As Net.Sockets.NetworkStream
Public RdStrm As IO.StreamReader
Public Data As String
Public szData As Byte()

e per stabilire la connessione con il server utilizzo questo codice
Servers = New Net.Sockets.TcpClient(POP3, 110) (*)
Status.Items.Clear()

Try
NetStrm = Servers.GetStream()
RdStrm = New IO.StreamReader(Servers.GetStream())
StatusItems.Add(RdStrm.ReadLine())
Catch ex As Exception
StatusItems.Add("Errore: " & ex.Message)
End Try

dove (*) è l'indirizzo pop3. Fin qui tutto bene, il server risponde correttamente, ma quando vado a fare la disconnessione dal server con il seguente codice

Try
Data = "QUIT" + CLRF (*)
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray())
NetStrm.Write(szData, 0, szData.Length)
Status.Items.Add(RdStrm.ReadLine())


NetStrm.Close()
RdStrm.Close()
Catch ex As Exception
Status.Items.Add("Errore: " & ex.Message)
End Try

dove (+) è il parametro "\r\n", il codice mi genera un'eccezione su NetStrm.Write(szData, 0, szData.Length) dicendo "Riferimento a un oggetto non impostato sull'istanza di un oggetto". Sapete dirmi perchè? E' la procedura giusta o ci sono altri metodi migliori per fare questo lavoro?
Tnx.

Brainkiller Profilo | Guru

>Ciao a tutti, mi sto cimentando con ASP.NET 2.0 per un piccolo
>progetto che ho in mente.
>Sto iniziando a progettare una pagina che permetta di recuperare
>la lista delle email e le visualizzi, come se fosse un client
>di posta on line. Ho trovato in giro in rete alcune applicazioni,
>ma quasi tutte per winform, non per asp e quindi ho qualche problema
>di conversione (tenete conto che con asp sono alle prime armi)

Non hai certo scelto uno dei più semplici per cominciare

>dove (+) è il parametro "\r\n", il codice mi genera un'eccezione
>su NetStrm.Write(szData, 0, szData.Length) dicendo "Riferimento
>a un oggetto non impostato sull'istanza di un oggetto". Sapete
>dirmi perchè? E' la procedura giusta o ci sono altri metodi migliori
>per fare questo lavoro?

Verifica in debug con il Quick Watch quale oggetto non è valorizzato (impostato a null o nothing) e capisci dov'è l'inghippo. Consulta anche questo articolo che mi sembra un po' meglio rispetto a quel codice:
http://www.dotnethell.it/articles/POP3.aspx

cia

David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

hydra Profilo | Junior Member

Mitico. Appena ho un attimo di tempo gli do un occhio e poi vi faccio sapere se risolvo o se ho ancora bisogno di una mano.

hydra Profilo | Junior Member

Ho fatto le dovute prove e devo dire che grazie all'articolo sono riuscito nel mio intento. Ora vorrei iniziare a buttar giù l'applicazione web vera e propria, ma mi sono già incartato.
Io ho creato un form di login e un form WebMail dove andrò a visualizzare le mail. Ora viene la domanda, che sembrerà sicuramente banale e scema ma io non ne sto venendo fuori. Come faccio per fare in modo che , dopo aver premuto il pulsante (ed eseguito il codice di controllo del nome utente e password) mi si apra la pagina2??? Se imposto il PostBackUrl devo ripremere il pulsante per fare in modo che si apra la pagina, ma io vorrei che fosse il codice a farlo.....
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5