【问题标题】:corrupted email attachments in .NET.NET 中损坏的电子邮件附件
【发布时间】:2010-09-23 08:52:49
【问题描述】:

我正在尝试将 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);
}

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

我已尝试更改 Attachment 类(替换 MailAttachment)中的 TransferEncoding,但没有成功。有人在 .NET 2.0 上解决了这个问题吗?

【问题讨论】:

    标签: c# .net smtp


    【解决方案1】:

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

    【讨论】:

    • 是的,就是这样。我猜整个编码的事情是一个红鲱鱼:)
    【解决方案2】:

    您是否已检查以确保 pdfData 数组中的 PDF 文档尚未损坏?尝试将其写入文件然后打开它。

    干杯
    凯夫

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-06
      • 1970-01-01
      • 2019-11-27
      • 2011-04-04
      • 2011-10-04
      • 1970-01-01
      相关资源
      最近更新 更多