29/04/10 12:51
Alessandro Rimoldi
Rieccomi qui...
Sono riuscito ad aprire la connessione e a ottenere l'elenco di tutte le e-mail nel casella di posta (PEC).
Nel momento in cui ho l'ID dell'e-mail richiedo solo quell'e-mail al fine di memorizzarne il corpo in un file di testo da poter leggere successivamente.
Il codice che utilizzo è:
public Pop3Message Retrieve(int ID)
{
message = "RETR " + ID + "\r\n";
Write(message);
response = Response();
}
private void Write(string message)
{
System.Text.ASCIIEncoding en = new System.Text.ASCIIEncoding();
byte[] WriteBuffer = new byte[1024];
WriteBuffer = en.GetBytes(message);
NetworkStream stream = client.GetStream();
stream.Write(WriteBuffer, 0, WriteBuffer.Length);
}
private string Response()
{
System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
byte[] serverbuff = new Byte[1024];
NetworkStream stream = client.GetStream();
int count = 0;
while (true)
{
byte[] buff = new Byte[2];
[b]int bytes = stream.Read(buff, 0, 1);[/b]
if (bytes == 1)
{
serverbuff[count] = buff[0];
count++;
if (buff[0] == '\n')
{
break;
}
}
else
{
break;
};
};
string retval = enc.GetString(serverbuff, 0, count);
return retval;
}
L'esecuzione del comando che ho indicato in grassetto mi dà il seguente errore:
Impossibile leggere dati dalla connessione del trasporto: Connessione in corso interrotta forzatamente dall'host remoto.
Sapete dirmi come mai?
Grazie!
aaa