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;
我正在使用 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;