Ciao,
non c'è nessun evento che ti dia la "progressione" dell'invio della mail, piuttosto però potresti usare il "SendAsync" ossia lanciare la mail in maniera asyncrona appunto, ossia senza bloccare il Thread che l'ha lanciata, e fare piuttosto di una progressbar reale, qualcosa che "giri" in attesa della fine dell'invio.
Quest'ultimo evento invece ce l'hai, quindi lo riesci a capire, il tutto tradotto in codice è qualcosa di questo tipo:
...
MailMessage msg = new MailMessage();
...
SmtpClient cli = new SmtpClient();
cli.SendCompleted += new SendCompletedEventHandler(cli_SendCompleted);
cli.SendAsync(msg, null);
}
void cli_SendCompleted(object sender, AsyncCompletedEventArgs e)
{
...
}
Ciao.
Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo