正在試圖異步發送一封電子郵件,附件使用.NET的SMPTClient類:錯誤發送郵件異步
SmtpClient smtp = new SmtpClient(MailServer);
smtp.SendAsync(mailMsg, "");
smtp.SendCompleted += new SendCompletedEventHandler(MailSentCallback);
mailMsg.Dispose();
我需要儘快將郵件發送成功從我的服務器刪除附件文件。
private static void MailSentCallback(object sender, AsyncCompletedEventArgs e)
{
File.Delete(myAttachment);
}
但是,當這種方法被調用時,我得到一個錯誤: 「該進程無法訪問該文件‘myAttachment’,因爲它正被另一個進程使用。」 此外,郵件不被傳遞。如果我使用發送方法而不是SendAsync,則郵件傳遞正在工作。
我在這裏失蹤了什麼?
感謝您的閱讀!
謝謝jerryjvl ...!我現在使用MemoryStream並將它附加到郵件消息上......沒有任何「文件正在被其他進程使用」的錯誤的作品...再次感謝! – 2009-06-05 01:41:49