Salut,

Dans mon service Windows, je dois envoyer un mail avec un fichier en pièce jointe puis supprimer le fichier pièce jointe.

J'arrive à envoyer le mail avec cette fonction :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public static void SendMailWithAttachment(string expediteur, string destinataire, string subject, string body, string attachment, string serverSMTP, int priority, bool html)
        {
 
            MailAddress from = new MailAddress(expediteur);
            MailAddress to = new MailAddress(destinataire);
            MailMessage message = new MailMessage(expediteur, destinataire);
 
            Attachment data = new Attachment(attachment);
            message.Attachments.Add(data);
 
            message.Subject = subject;
            message.Body = body;
            message.Priority = DefineMailPriority(priority);
            if (html == true)
            {
                message.IsBodyHtml = true;
            }
 
            SmtpClient client = new SmtpClient(serverSMTP);
            client.UseDefaultCredentials = true;
            client.Send(message);
 
        }

mais je n'arrive pas à supprimer la pièce jointe par la suite..
Je pense que c'est dû à une exception du genre accès interdit au fichier car il est utilisé ailleurs.
Je n'arrive même pas à supprimer le fichier à la main tant que mon service tourne.


Vu que quand je supprime l'envoi du mail avec pièce jointe, le fichier est supprimé sans problèmes, j'en déduis que c'est cet envoi du mail qui pose problème.


Donc ma question :
Est ce que j'oublie de libérer une ressource après l'envoi de mon mail ?
Si oui comment on la libère ?

Merci de votre aide.



Johann