Ich versuche, eine PDF-Anlage an eine E-Mail anzuhängen, die mit System.Net.Mail gesendet wird. Der Anhang fügt folgendes hinzu:beschädigte E-Mail-Anhänge in .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);
}
Das Problem ist, dass der Anhang am anderen Ende beschädigt wird. Ich fand eine Diskussion über dieses Problem here, aber die Lösung auf dieser Seite verwendet System.Web.Mail.MailAttachment, die in .NET 2.0 veraltet gemacht wurde.
Ich habe versucht, die TransferEncoding in der Anlage-Klasse (die MailAttachment ersetzt), aber hatte kein Glück. Hat jemand das auf .NET 2.0 gelöst?
Yup, das war es. Ich denke, die ganze Kodierung Sache war ein Hering :) – mlenarz