El envío de archivos que utilizó es asincróno.
Intento enviar n correos seún n bjetos de una lista, los n correos deben de llevar el mismo archivo adjunto, el problema es que el archivo llega con un tamaño dividido entre los n destinatarios del tamaño real.
Código:
.... { if (upload.HasFile) { if (upload.PostedFile.ContentLength <= (4000 * 1024)) { string strFileName = System.IO.Path.GetFileName(upload.PostedFile.FileName); Mail.Attachment = new Attachment(upload.PostedFile.InputStream, strFileName); } else { throw new Exception("El tamaño del archivo excede el límite permitido: 4MB"); } } SendEMail(ListEMail); } SendEMail(List<Mail> Mail) { foreach(MailMessage EMail in Mail) { .......... if (EMail.Attachment != null) { Mail.Attachments.Add(EMail.Attachment); } SMTP.Host = ConfigurationManager.AppSettings["ServerName"].ToString(); ; SMTP.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["AccountMail"].ToString(), ConfigurationManager.AppSettings["AccountPW"].ToString()); SMTP.SendCompleted += new SendCompletedEventHandler(SMTP_SendCompleted); Object r_UserToken = new Object(); r_UserToken = Mail; SMTP.SendAsync(Mail, r_UserToken); } }
Si tienen solución a este detalle haganmelo saber...
Saludos.