2011-06-08 3 views
0

J'utilise la classe mail pour envoyer un email avec une pièce jointe comme image à plusieurs destinataires. mais le problème est que le courrier électronique est envoyé au premier destinataire, il est de lancer une exception que « l'image est utilisé par un autre processus » .. comment cela peut être résolu ..envoyer plusieurs messages avec des pièces jointes

Je reçois utilisateurs listitem comme:

foreach (ListItem item in lstboxlist.Items) 
       { 
        to = Convert.ToString(item); 
        select_theme_tosend(to, sub); 
       } 

et je suis l'envoi de messages aux utilisateurs comme:

string source_theme = theme; 
      string dest_theme_path = "xxx"; 

      if (File.Exists(dest_theme_path)) 
      { 
       File.Delete(dest_theme_path); 
      } 
      File.Copy(source_theme, dest_theme_path); 
      xmlDoc.Load(theme); 
      XmlNode node = null; 
      SendMail_Html send_html = new SendMail_Html(); 

       MailMessage mail = new MailMessage(); 
       Attachment footer_att = null; 
       Attachment header_att = null; 
       Attachment other_att = null; 
       mail.Attachments.Add(other_att); 
       } 
       xmlDoc.Save(theme); 

       StreamReader strm_rdr = new StreamReader(theme); 
       string theme_text = strm_rdr.ReadToEnd(); 

       SendMail send_mail = new SendMail(); 
       send_html.sent_htmlmail1(to, theme_text, subject, footer_att, header_att, other_att); 
       mail.Dispose(); 
       // File.Delete(header_path); 
       // File.Delete(other_imagepath); 
       // File.Delete(foot_image_path); 
} 

si je décommenter la dernière ligne, il affiche une erreur sur l'envoi de courrier à la seconde adresse comme: « fichier spécifié introuvable » ... quel shoul d-je faire pour envoyer plusieurs courriels ... s'il vous plaît aider ...

Répondre

1

Fermer le flux Une fois que vous avez terminé, donc par exemple:

StreamReader strm_rdr = new StreamReader(theme); 
string theme_text = strm_rdr.ReadToEnd(); 
strm_rdr.Close(); 
Questions connexes