Bonjour,

Je réalise en ce moment un programme qui permet d'envoyer un fichier par mail, cependant je rencontre un soucis quand je veux utiliser la pièce jointe !:

Voici mon code suivi de l'explication :

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
public static void Send() {
            try {
                MailMessage mail = new MailMessage();
                SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com", 587);
                mail.From = new MailAddress("adresseemail@gmail.com");
                mail.To.Add("adresseemail@gmail.com");
                mail.Subject = "Fichier" + Environment.UserName + DateTime.Now;
                mail.Body = "Fichier";
                Attachment attachment = new Attachment(Application.StartupPath + @"\fichier.txt");
                mail.Attachments.Add(attachment);

                SmtpServer.Credentials = new NetworkCredential("adresseemail@gmail.com", "123456789");
                SmtpServer.EnableSsl = true;
                SmtpServer.Send(mail);
                attachment.Dispose();
                File.WriteAllText(Application.StartupPath + @"\fichier.txt", "");
            }
            catch (Exception e) {
                Console.WriteLine(e);
            }
        }
Après l'envoie du fichier, je souhaite vider le fichier texte par la ligne :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
File.WriteAllText(Application.StartupPath + @"\fichier.txt", "");
Seulement je rencontre une exception comme quoi le fichier est utilisé par un autre processus, je pense que c'est dû à l'utilisation du fichier pour l'envoie (que je reçois parfaitement).

J'aimerai faire en sorte à ce que le fichier soit vide une fois qu'il n'est plus utilisé, comment puis-je faire dans mon cas ?
Je pourrai bien mettre une boucle et que quand l'exception n'est pas présente c'est que c'est OK mais je trouve cette solution trop 'bricolage'.

Peut-être qu'il y a plus simple. Si quelqu'un peut m'indiquer ... Merci !