Я пытаюсь прикрепить вложенное PDF-файл к электронному письму, отправленному с помощью System.Net.Mail. Элемент добавления добавок выглядит следующим образом:поврежденные вложения электронной почты в .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);
}
Проблема в том, что вложение повреждено на другом конце. Я нашел некоторое обсуждение этой проблемы here, однако решение, упомянутое на этой странице, использовало System.Web.Mail.MailAttachment, которое было устарело в .NET 2.0.
Я попытался изменить TransferEncoding в классе Attachment (который заменяет MailAttachment), но не повезло. Кто-нибудь решил это на .NET 2.0?
Да, это был он. Я думаю, что вся кодировка была красной селедкой :) – mlenarz 2008-11-21 15:54:05