当前位置:  开发笔记 > 编程语言 > 正文

.NET中的电子邮件附件损坏

如何解决《.NET中的电子邮件附件损坏》经验,为你挑选了1个好方法。

我正在尝试将PDF附件附加到与System.Net.Mail一起发送的电子邮件中.附件添加部分如下所示:

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);
}

问题是附件在另一端损坏了.我在这里找到了一些关于这个问题的讨论,但是该页面上提到的解决方案使用的是System.Web.Mail.MailAttachment,它在.NET 2.0中已经过时了.

我已经尝试更改Attachment类中的TransferEncoding(它取代了MailAttachment),但没有运气.有没有人在.NET 2.0上解决这个问题?



1> tvanfosson..:

您是否尝试pdfStream.Seek(0,SeekOrigin.Begin)在创建附件之前执行a 以将流重置为开头?

推荐阅读
echo7111436
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有