J'essaye d'attacher une pièce jointe de pdf à un email étant envoyé avec System.Net.Mail. La partie ajoutée attache ressemble à ceci:pièces jointes d'email corrompu dans .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);
}
Le problème est que l'attachement est corrompu à l'autre bout. J'ai trouvé une discussion de ce problème here, cependant la solution mentionnée sur cette page a utilisé System.Web.Mail.MailAttachment, qui a été rendu obsolète dans .NET 2.0.
J'ai essayé de changer le TransferEncoding dans la classe Attachment (qui remplace MailAttachment), mais n'a pas eu de chance. Est-ce que quelqu'un a résolu ceci sur .NET 2.0?
Eh oui, c'est tout. Je suppose que tout le codage était un harcèlement rouge :) – mlenarz