2009-04-10 11 views
0

Je suis en train d'écrire une simple classe d'assistance par courrier électronique qui sera appelée par un service Windows. Lorsque je teste, la pièce jointe à l'e-mail n'est pas envoyée avec le reste de l'e-mail.Les pièces jointes ne sont pas jointes

mailAttachmentFilePath est une ArrayList (juste pour clarification) et mail représente la classe MailMessage.

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

Je suis certain que je manque quelque chose, mais je ne sais pas ce qu'elle est ...

Répondre

2

Supprimez le data.Dispose(). Les pièces jointes sont ajoutées par référence. Lorsque vous appelez, vous libérez le fichier joint. Vous n'avez pas vraiment besoin de l'instruction if. Essayez ceci:

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

Faites le data.Dispose() après avoir envoyé le courriel: D.

Questions connexes