Презентация тела электронного письма является одним из важных факторов для привлечения читателей. Таким образом, электронные письма хорошо форматируются с использованием заголовков, подзаголовков, таблиц, изображений и т. д. Однако большинство встроенных редакторов электронной почты не предоставляют расширенных параметров форматирования. Чтобы обойти это ограничение, в этой статье рассказывается, как составлять сообщения электронной почты, используя документы Word в качестве тела сообщения в C#.
- API C# для импорта документа Word в электронную почту
- Действия по отправке документа Word в теле письма на C#
- Полный исходный код
- Получите бесплатную лицензию API
API C# для импорта документа Word в электронную почту
Чтобы импортировать содержимое из документа Word, мы будем использовать API Aspose.Words for .NET. Принимая во внимание, что для составления и отправки электронного письма мы будем использовать возможности Aspose.Email для .NET. Оба вышеупомянутых API можно загрузить как DLL или установить через NuGet.
Скачать библиотеки DLL
Установить через NuGet
PM> Install-Package Aspose.Words
PM> Install-Package Aspose.Email
Отправить документ Word в теле электронной почты с помощью С#
- Загрузите документ Word с помощью класса Aspose.Words.Document и сохраните его как MHTML в объекте MemoryStream.
// Загрузить документ Word с диска
Document wordDocument = new Document("Word.docx");
// Сохранить документ как MHTML в поток памяти
MemoryStream mhtmlStream = new MemoryStream();
wordDocument.Save(mhtmlStream, SaveFormat.Mhtml);
- Загрузите MHTML из объекта MemoryStream в объект Aspose.Email.MailMessage и установите тему, в поля электронной почты и из них.
// Установить позицию на 0
mhtmlStream.Position = 0;
// Создать сообщение электронной почты из MHTML
MailMessage message = MailMessage.Load(mhtmlStream, new MhtmlLoadOptions());
// Установить поля электронной почты
message.Subject = "Sending Invoice in Email";
message.From = "sender@gmail.com";
message.To = "recipient@gmail.com";
- Настройте SMTP-клиент с помощью класса Aspose.Email.Clients.Smtp.SmtpClient и отправьте электронное письмо.
// Отправить электронную почту через SMTP
SmtpClient client = new SmtpClient("smtp.gmail.com", 587, "sender@gmail.com", "pwd");
client.SecurityOptions = SecurityOptions.SSLExplicit;
client.Send(message);
Исходный код
Ниже приведен полный исходный код импорта документа MS Word в виде тела электронной почты с использованием C#.
// Загрузить документ Word с диска
Document wordDocument = new Document("Word.docx");
// Сохранить документ как MHTML в поток памяти
MemoryStream mhtmlStream = new MemoryStream();
wordDocument.Save(mhtmlStream, SaveFormat.Mhtml);
// Установить позицию на 0
mhtmlStream.Position = 0;
// Создать сообщение электронной почты из MHTML
MailMessage message = MailMessage.Load(mhtmlStream, new MhtmlLoadOptions());
// Установить поля электронной почты
message.Subject = "Sending Invoice in Email";
message.From = "sender@gmail.com";
message.To = "recipient@gmail.com";
// Отправить электронную почту через SMTP
SmtpClient client = new SmtpClient("smtp.gmail.com", 587, "sender@gmail.com", "pwd");
client.SecurityOptions = SecurityOptions.SSLExplicit;
client.Send(message);
Получите бесплатную лицензию API
Вы можете бесплатно попробовать API без ограничений по оценке. Получить бесплатную временную лицензию сейчас.
Вывод
В этой статье вы узнали, как импортировать документ Word в качестве тела электронной почты с помощью C#. Кроме того, в примере кода показано, как отправить составленное сообщение электронной почты с помощью SMTP-клиента. Вы можете узнать больше об API, используемых в статье, посетив следующую документацию.