【发布时间】:2020-03-18 17:19:19
【问题描述】:
在我的应用程序中,用户可以将电子邮件上传到文件服务器,然后应将这些电子邮件的附件剥离并转换为 PDF 以单独保存。但我在正确删除电子邮件中的附件时遇到问题。
当我转换电子邮件并将其与附件一起保存时,它工作得很好,但是当我先删除附件然后保存它时,它会以某种方式破坏生成的 PDF 文件,使其看起来像 this(这只是 4从 4 行电子邮件生成的页面)。谁能解释我做错了什么?
这是我从电子邮件中删除附件的代码:
public static List<(string FileName, Stream Content)> GetEmailAndAttachmentsFromEmail(Stream emailContent)
{
var email = MailMessage.Load(emailContent);
var retval = new List<(string, Stream)>
{
($"{email.Subject}.msg", emailContent)
};
var attachmentsToRemove = new List<Attachment>();
foreach (var attachment in email.Attachments)
{
retval.Add((attachment.Name, attachment.ContentStream));
attachmentsToRemove.Add(attachment);
}
foreach (var attachment in attachmentsToRemove)
{
email.Attachments.Remove(attachment);
}
return retval;
}
我已经尝试过此代码的多种排列方式,但都没有奏效。
另外,我正在关注这个主题的official Aspose documentation,我看不出我在做什么不同/错误。
【问题讨论】: