EWS 将电子邮件作为附件转发 - 无法在其他电子邮件客户端中打开

EWS forward email as attachment - Cannot open in other email clients

在我的程序中,我正在使用 EWS .NET API 读取 Exchange 邮箱并将电子邮件作为附件转发到外部电子邮件地址。我使用的代码如下

  private void ForwardMessage(ExchangeService exchangeService, EmailMessage item)
  {
    ResponseMessage responseMessage = item.CreateForward();
    item.Load(new PropertySet(BasePropertySet.FirstClassProperties, new 
                     PropertySet(){ItemSchema.MimeContent,                                                                            
                    ItemSchema.Subject}));
    var mail = new EmailMessage(exchangeService);
    var attachment = mail.Attachments.AddFileAttachment(String.Format("
                        {0}.eml", item.Subject),  
    item.MimeContent.Content);
    String forwardEmailAddresses = 
                      MailProcessorSettings.Default.ForwardEmailAddress;
    char[] delimiters = { ',', ';' };
    foreach (var emailAddress in forwardEmailAddresses.Split(delimiters, 
              StringSplitOptions.RemoveEmptyEntries))
    {
        mail.ToRecipients.Add(emailAddress);
    }
    mail.Subject = item.Subject;
    mail.Send();
  }

我可以在 Outlook 中打开作为附件转发的电子邮件。但是,如果我将它发送到 Gmail 或使用不同电子邮件客户端的其他用户,它会显示为空白附件。

如何确保作为附件转发的电子邮件保留原始内容?

添加一行指示消息的内容类型似乎可以解决此问题。以下任一设置似乎都有效。添加 ContentType 后,我可以从 Gmail 下载附件,尽管我必须使用 Outlook 客户端才能打开它。

attachment.ContentType = "multipart/alternative"
OR
attachment.ContentType = "message/rfc822"