我有一个Web应用程序,该应用程序创建Outlook Meeting .ics文件并将其作为附件发送给用户。它可以正常工作,但是发送后,由于w3wp.exe正在使用该文件,因此我无法从服务器中删除该文件。
这是我的功能:

public static void SendEmail(string subject, string body, List<string> to, string path)
{
    MailMessage mailMessage = new MailMessage();
    mailMessage.From = new MailAddress("[email protected]", "Test email");
    foreach (string item in to)
    {
        mailMessage.To.Add(item);
    }
    mailMessage.Subject = subject;
    mailMessage.BodyEncoding = Encoding.UTF8;
    mailMessage.Body += body;
    mailMessage.IsBodyHtml = true;
    SmtpClient smtpClient = new SmtpClient("smtp.company.com");
    if (!string.IsNullOrEmpty(path))
    {
        Attachment attachment = new Attachment(path);
        mailMessage.Attachments.Add(attachment);
    }
    smtpClient.Send(mailMessage);
}

最佳答案

您最后会错过mailMessage.Dispose();

关于c# - 将文件作为电子邮件附件发送后,文件卡在w3wp.exe中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45299226/

10-10 08:00