微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – .NET中的电子邮件附件损坏

我正在尝试将PDF附件附加到与System.Net.Mail一起发送的电子邮件中.附件添加部分如下所示:
using (MemoryStream pdfStream = new MemoryStream())
{
    pdfStream.Write(pdfData,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中已经过时了.

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

解决方法

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

原文地址:https://www.jb51.cc/csharp/92127.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐