Bonsoir,
j'ai développé une application avec laquelle j'envoie des mails. dont voici un bout de code que présente comment je je fais :
using System;
using System.Net;
using System.Net.Mail;
....
private void EnvoyerMail()
{
MailMessage mail = new MailMessage();
SmtpClient smtp = new SmtpClient();
Oui, j'ai essayé mais ça ne marche pas.
Si j'appelle la méthode .SendAsyncCancel() immédiatement après l'envoi, ça marche. Mais si j'attends un petit instant avant l'appelle de la méthode, le mail est il me signal que l'envoi est annulé mais le message est quand même transmis.
J'utilise aussi la procedure suivante :
private void MailSendCompleted(object sender, AsyncCompletedEventArgs e)
{ if ( e.Error null && e.Cancel false)
Messagebox.Show("Message envoyé");
else if (e.Error != null)
Messagebox.Show("Erreur lors de l'envoi du message");
else
Messagebox.Show("L'envoi du message a été annulé");
}
En réalité, ce je voudrais vraiment, c'est que l'on puisse interrompre l'envoi du mail à n'importe quel moment sans qu'il ne soit transmis.