2009-04-10 145 views
0

我在寫一個簡單的電子郵件幫助程序類,它將被Windows服務調用。當我測試雖然電子郵件附件沒有發送其餘的電子郵件。不附加郵件附件

mailAttachmentFilePath是一個ArrayList(僅用於說明)和mail表示MailMessage類。

if (mailAttachmentFilePath.Count > 0) 
     { 
      foreach (string file in mailAttachmentFilePath) 
      { 
       Attachment data = new Attachment(file); 
       mail.Attachments.Add(data); 
       data.Dispose(); 
      } 
     } 

我敢肯定,我失去了一些東西,但我不知道它是什麼...

回答

2

刪除data.Dispose()。附件是通過引用添加的,所以當你調用處理時,它實際上是釋放附件。你也不需要if語句。試試這個:

foreach (string file in mailAttachmentFilePath) 
    { 
     Attachment data = new Attachment(file); 
     mail.Attachments.Add(data); 
    } 
5

執行data.Dispose()後,您發送電子郵件:d。