У меня есть документ слова и с помощью Aspose.Word для выполнения слияния почты и сохранить результат в поток памяти, как MHTML (часть моего кода):mimekit перспективы показать текст как вложение
Aspose.Words.Document doc = new Aspose.Words.Document(documentDirectory + countryLetterName);
doc.MailMerge.Execute(tempTable2);
MemoryStream outStream = new MemoryStream();
doc.Save(outStream, Aspose.Words.SaveFormat.Mhtml);
Тогда я использовать MimeKit (последняя версия от NuGet), чтобы отправить мое сообщение:
outStream.Position = 0;
MimeMessage messageMimeKit = MimeMessage.Load(outStream);
messageMimeKit.From.Add(new MailboxAddress("<sender name>", "<sender email"));
messageMimeKit.To.Add(new MailboxAddress("<recipient name>", "<recipient email>"));
messageMimeKit.Subject = "my subject";
using (var client = new MailKit.Net.Smtp.SmtpClient())
{
client.Connect(<smtp server>, <smtp port>, true);
client.Authenticate("xxxx", "pwd");
client.Send(messageMimeKit);
client.Disconnect(true);
}
при открытии полученной электронной почты в веб-клиенте почты, я вижу текст (с изображением) и изображение в качестве вложения.
При открытии полученного письма в Outlook (2016) почтовый ящик пуст, и у меня есть два вложения, 1 с текстом и 1 с изображением.
Глядя на сам содержание MHT, это выглядит следующим образом:
MIME-Version: 1.0
Content-Type: multipart/related;
type="text/html";
boundary="=boundary.Aspose.Words=--"
This is a multi-part message in MIME format.
--=boundary.Aspose.Words=--
Content-Disposition: inline;
filename="document.html"
Content-Type: text/html;
charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: document.html
<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; charset=
=3Dutf-8" /><meta http-equiv=3D"Content-Style-Type" content=3D"text/css" />=
<meta name=3D"generator" content=3D"Aspose.Words for .NET 14.1.0.0" /><titl=
e></title></head><body>
*****body removed *****
</body></html>
--=boundary.Aspose.Words=--
Content-Disposition: inline;
filename="image.001.jpeg"
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: image.001.jpeg
****image content remove****
--=boundary.Aspose.Words=----
Есть некоторые элементы форматирования или так что я должен сделать, чтобы получить это правильно показано в Outlook? Или это вызвано найденными «3D» ключевыми словами, такими как content = 3D «xxxx», style = 3D «xxxx»?
Заранее спасибо.
Эдвард
Привет Джеффри, извините за поздний ответ. Спасибо за ответ. Я установил значение FileName и ContentLocation равным null, и теперь он выглядит хорошо в Outlook. – ET67