Deleting a file in C # after sending an email attachment

I have the following code that basically attaches a file to an email message, after all attachments are attached and an email message is sent, I try to delete all files, however I get an exception in the file. I believe the error occurs on this line

Attachment data = new Attachment(file, MediaTypeNames.Application.Octet); 

I tried using this code, but I get a message I can’t send.

 using Attachment data = new Attachment(file, MediaTypeNames.Application.Octet)){ //and the rest of the code in here. } foreach (KeyValuePair<string, string> kvp in reports) { browser.GoTo(kvp.Value); Thread.Sleep(1000); System.IO.File.Move(@"C:\Reports\bidata.csv", @"C:\Reports\"+kvp.Key.ToString()+".csv"); string file = @"C:\Reports\" + kvp.Key.ToString() + ".csv"; Attachment data = new Attachment(file, MediaTypeNames.Application.Octet); // Add time stamp information for the file. ContentDisposition disposition = data.ContentDisposition; disposition.CreationDate = System.IO.File.GetCreationTime(file); disposition.ModificationDate = System.IO.File.GetLastWriteTime(file); disposition.ReadDate = System.IO.File.GetLastAccessTime(file); // Add the file attachment to this e-mail message. mail.Attachments.Add(data); } smtpserver.Send(mail); string[] files = Directory.GetFiles(@"C:\Reports"); foreach (string files1 in files) { File.Delete(files1); } 
+4
source share
2 answers

To delete files first, you will have to delete attachments and mail objects, and then delete files

+6
source

Dispose of smtpclient by placing it in usings or call dispose directly. This should free up the file share and allow you to destroy it.

+2
source

Source: https://habr.com/ru/post/1442146/


All Articles