Как да изпратите Word документ по имейл с помощта на C#

В този лесен урок ще научим как да изпращаме Word Document по имейл с помощта на C#. В следващия пример ще видите колко лесно е да изпратите документ на Word в тялото на имейл с помощта на C#. Можете да използвате примера във всяка от общодостъпните операционни системи като Linux, macOS или Windows.

Стъпки за изпращане на Word документ по имейл с помощта на C#

  1. Инсталирайте библиотеки Aspose.Words и Aspose.Email от инструмента за управление на пакети NuGet във Visual Studio.
  2. Инициализирайте обект от клас Document, за да заредите документа за изпращане като имейл
  3. Запазете документа като поток в междинен MHTML формат
  4. Създайте екземпляр на клас MailMessage, за да заредите MHTML като MailMessage и да зададете неговите свойства
  5. Създайте екземпляр на SMTP клиент и изпратете документа на Word като имейл с помощта на C#

В горните стъпки ще заредим документа на Word за изпращане като имейл в първата стъпка. След това ще запазим заредения документ в поток в междинен формат MHTML. В следващите стъпки ще заредим MHTML с помощта на MailMessage class и ще зададем свойствата му за поща. И накрая, екземпляр на клиентски клас SMTP ще бъде инстанциран за създаване на имейл от DOCX в C#.

Код за изпращане на Word документ по имейл с помощта на C#

using System;
using System.IO;
using Aspose.Email;
using Aspose.Email.Clients;
using Aspose.Email.Clients.Smtp;
using Aspose.Words;
namespace WordKB
{
class WordsEmail
{
static void Main(string[] args)
{
// Use Aspose.Words and Aspose.Email licenses to remove evaluation version limitations
Aspose.Words.License LicenseForWord = new Aspose.Words.License();
LicenseForWord.SetLicense("Aspose.Total.API.lic");
Aspose.Email.License LicenseForEmail = new Aspose.Email.License();
LicenseForEmail.SetLicense("Aspose.Total.API.lic");
// Load the document for sending as email using Document class
Document EmaiDocument = new Document("EmailDocument.docx");
// Convert the document to MHTML format by using memory stream
Stream EmailStream = new MemoryStream();
EmaiDocument.Save(EmailStream, SaveFormat.Mhtml);
// Now, reset the EmailStream position to the beginning
EmailStream.Position = 0;
// Create an Aspose.Email message from the saved stream
Aspose.Email.MailMessage EmailMessage =
Aspose.Email.MailMessage.Load(EmailStream, new MhtmlLoadOptions());
// Set properties of email to send
EmailMessage.From = "your_from_email@email.com";
EmailMessage.To = "your_to_email@email.com";
EmailMessage.Subject = "Test Message using Aspose. Words and Aspose.Email APIs";
// Initialize SMTP client and it's properties to send email
SmtpClient SMTPClient = new SmtpClient();
SMTPClient.Host = "smtp.gmail.com";
SMTPClient.Username = "YourEmail@gmail.com";
SMTPClient.Password = "Your Gamil Password";
SMTPClient.Port = 587;
SMTPClient.SecurityOptions = SecurityOptions.SSLExplicit;
// Send word email message
SMTPClient.Send(EmailMessage);
}
}
}

В горния пример имаме изпращане на документ на Word в тялото на имейла, използвайки C#, като използваме подход от две стъпки. В първата стъпка заредихме и запазихме DOCX като междинен формат MHTML файл, използвайки потоци. След това във втората стъпка сме заредили MHTML в поток с помощта на MailMessage. И накрая, използвайки SMTP клиент, ние изпращаме документ по имейл в C#.

В тази проста тема проучихме как да създадем имейл от DOCX с помощта на C#. Ако обаче търсите конвертиране на DOCX в MD файл, вижте статията на как да конвертирате Word в Markdown с помощта на C#.

 Български