C# Core Builder.Attachments, 附上Word 但是原来1页的文件附件后变成了4页

C# Core Builder.Attachments, attach Word but the original file with 1 page after attachment became 4 pages

我正在使用 ASP.NET Core 2.0,我正在尝试将 Word 文件附加到我的电子邮件中。电子邮件运行良好,但我在处理附件时遇到了一些问题。

原来的word文档只有1页,但是从收件人的邮箱中附加下载后就变成了4页了。第1页的部分文字已转到第2页和第3页。

这是我的代码:

public string TestSend()
{
  var webRoot = _hostingEnvironment.WebRootPath;
  var pathToFile = "EmailTemplates"
                   + Path.DirectorySeparatorChar.ToString()
                   + "Test.html";

  var builder = new BodyBuilder();
  using (StreamReader SourceReader = System.IO.File.OpenText(pathToFile))
  {    
    builder.HtmlBody = SourceReader.ReadToEnd();    
  }
  string messageBody = string.Format(builder.HtmlBody,
                       "TEST",
                       "TEST",
                       "TEST",
                       "TEST",
                       "TEST" );    

   builder.HtmlBody = messageBody;
   builder.Attachments.Add(@"C:\Users\Test\Desktop\Test\Temp.docx");

   var message = new MimeMessage();
   message.From.Add(new MailboxAddress("Test", Test@test.com));
   message.To.Add(new MailboxAddress("Test", JustDemo@test.com));
   message.Cc.Add(new MailboxAddress("Test", Test@test.com));    

   message.Subject = "Test";
   message.Body = builder.ToMessageBody();               

   using (var client = new SmtpClient())
   {
     client.Connect("smtp.gmail.com", 587, false);
     client.Authenticate("test@test.com", "Test");
     client.Send(message);
     client.Disconnect(true);    
   }  

     return "a";    
}

尝试将 Content-Transfer-Encoding 强制转换为 base64:

var attachment = (MimePart) builder.Attachments.Add ("C:\.....");
attachment.ContentTransferEncoding = ContentEncoding.Base64;