Надіслати документ Word електронною поштою c#

Презентація тексту електронних листів є одним із важливих факторів залучення читачів. Тому електронні листи добре форматуються за допомогою заголовків, підзаголовків, таблиць, зображень тощо. Однак більшість вбудованих редакторів електронної пошти не надають розширених параметрів форматування. Щоб усунути це обмеження, у цій статті розповідається про те, як створювати електронні листи за допомогою документів Word як тіла електронного листа в C#.

C# API для імпорту документа Word до електронної пошти

Щоб імпортувати вміст із документа Word, ми використаємо Aspose.Words for .NET API. Тоді як, щоб створити та надіслати електронний лист, ми будемо використовувати можливості Aspose.Email for .NET. Обидва вищезазначені API можна завантажити як DLL або встановити за допомогою NuGet.

Завантажте DLL

Встановити через NuGet

PM> Install-Package Aspose.Words
PM> Install-Package Aspose.Email

Надіслати документ Word у тексті електронної пошти за допомогою C#

  1. Завантажте документ Word за допомогою класу Aspose.Words.Document і збережіть його як MHTML в об’єкті MemoryStream.
// Завантажте документ Word з диска
Document wordDocument = new Document("Word.docx");

// Збережіть документ як MHTML у потік пам'яті
MemoryStream mhtmlStream = new MemoryStream();
wordDocument.Save(mhtmlStream, SaveFormat.Mhtml);
  1. Завантажте 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";
  1. Налаштуйте клієнт 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, які використовуються в цій статті, відвідавши наступну документацію.

Дивись також