Aggiornamento: Per adesso posto il codice che fin'ora ho realizzato.
protected void btnAvvia_Click(object sender, EventArgs e)
{
using (POP3_Client c = new POP3_Client())
{
c.Connect("mail.xxx.com", 110);
c.Authenticate("mail@xxxx.com", "xxxxxxxxxxx", false);
POP3_MessagesInfo mInf = c.GetMessagesInfo();
// Prendi il primo messaggio
if (mInf.Count > 0)
{
byte[] messageData = c.GetMessage(mInf.Messages[0].MessageNumber);
// Parse
MimeParser m = new MimeParser(messageData);
string from = m.From;
string subject = m.Subject;
// Valorizzo le label
lblOggetto.Text = m.Subject.ToString();
lblBody.Text = m.BodyHtml.ToString();
//Creo la gestione ciclica
int n = mInf.Messages[0].MessageNumber;
while (n > 0)
{
//Salvo i dati nel database
BusinessClassDataContext dc = new BusinessClassDataContext();
table_mail mails = new table_mail { body = lblBody.Text, oggetto = lblOggetto.Text, mailFrom = from };
dc.table_mails.InsertOnSubmit(mails);
dc.SubmitChanges();
//GridView1.DataBind();
c.DeleteMessage(mInf.Messages[0].MessageNumber);
}
}
}
}
Solo che il ciclo si impalla, salvando nel db solo il primo messaggio trovato, anche in due o tre copie...
Per quanto questa cosa possa essere semplice, io ci sto sbattendo la testa!