c# - mail - archivos adjuntos de correo electrónico dañados en.NET
smtpclient c# (2)
Estoy tratando de adjuntar un archivo PDF adjunto a un correo electrónico que se envía con System.Net.Mail. La parte de adición de adjuntos se ve así:
using (MemoryStream pdfStream = new MemoryStream())
{
pdfStream.Write(pdfData, 0, pdfData.Length);
Attachment a = new Attachment(pdfStream,
string.Format("Receipt_{0}_{1}.pdf", jobId, DateTime.UtcNow.ToString("yyyyMMddHHmm")));
msg.Attachments.Add(a);
SmtpClient smtp = new SmtpClient(serverName, port);
smtp.Credentials = new NetworkCredential(fromEmailName, fromEmailPassword);
smtp.Send(msg);
}
El problema es que el archivo adjunto se corrompe en el otro extremo. Encontré aquí una cierta discusión de este problema, sin embargo, la solución mencionada en esa página usaba System.Web.Mail.MailAttachment, que quedó obsoleto en .NET 2.0.
Intenté cambiar TransferEncoding en la clase Attachment (que reemplaza MailAttachment), pero no tuve suerte. ¿Alguien ha resuelto esto en .NET 2.0?
¿Ha verificado que el documento PDF no esté dañado en la matriz pdfData? Intenta escribir eso en un archivo y ábrelo.
Aclamaciones
Kev
¿Has intentado hacer un pdfStream.Seek(0,SeekOrigin.Begin)
antes de crear el archivo adjunto para restablecer la secuencia al principio?