发送电子邮件附件后删除c#中的文件

use*_*597 5 c#

我有以下代码基本上将文件附加到电子邮件消息然后附加所有附件并发送电子邮件后,我尝试删除所有文件,但我得到一个正在使用的文件异常.我相信错误就在这一行

Attachment data = new Attachment(file, MediaTypeNames.Application.Octet);
Run Code Online (Sandbox Code Playgroud)

我尝试使用此代码,但我收到一封无法发送的电子邮件

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);
}
Run Code Online (Sandbox Code Playgroud)

Hat*_*oft 7

要首先删除文件,您必须处理附件和邮件对象,然后删除文件