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í:archivos adjuntos de correo electrónico dañados en .NET
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é un poco de discusión sobre este problema here, sin embargo, la solución mencionada en esa página usa System.Web.Mail.MailAttachment, que quedó obsoleto en .NET 2.0.
He intentado cambiar TransferEncoding en la clase Attachment (que reemplaza MailAttachment), pero no tuve suerte. ¿Alguien ha resuelto esto en .NET 2.0?
Sí, eso fue todo. Creo que toda la codificación fue una pista falsa :) – mlenarz