Wyślij dokument Word w wiadomości e-mail C#

Prezentacja treści e-maili jest jednym z ważnych czynników angażujących czytelników. Dlatego wiadomości e-mail są dobrze sformatowane za pomocą nagłówków, podtytułów, tabel, obrazów itp. Jednak większość wbudowanych edytorów wiadomości e-mail nie zapewnia zaawansowanych opcji formatowania. Aby poradzić sobie z tym ograniczeniem, w tym artykule opisano sposób tworzenia wiadomości e-mail przy użyciu dokumentów programu Word jako treści wiadomości e-mail w języku C#.

Interfejsy API języka C# do importowania dokumentu programu Word do wiadomości e-mail

Aby zaimportować zawartość z dokumentu Word, użyjemy API Aspose.Words for .NET. Natomiast do redagowania i wysyłania wiadomości e-mail wykorzystamy możliwości Aspose.Email for .NET. Oba wyżej wymienione interfejsy API można pobrać jako DLL lub zainstalować za pośrednictwem NuGet.

Pobierz pliki DLL

Zainstaluj przez NuGet

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

Wyślij dokument programu Word w treści wiadomości e-mail za pomocą języka C#

  1. Załaduj dokument programu Word przy użyciu klasy Aspose.Words.Document i zapisz go jako MHTML w obiekcie MemoryStream.
// Załaduj dokument programu Word z dysku
Document wordDocument = new Document("Word.docx");

// Zapisz dokument jako MHTML w strumieniu pamięci
MemoryStream mhtmlStream = new MemoryStream();
wordDocument.Save(mhtmlStream, SaveFormat.Mhtml);
  1. Załaduj MHTML z obiektu MemoryStream do obiektu Aspose.Email.MailMessage i ustaw temat, do iz pól wiadomości e-mail.
// Ustaw pozycję na 0
mhtmlStream.Position = 0;

// Utwórz wiadomość e-mail z MHTML
MailMessage message = MailMessage.Load(mhtmlStream, new MhtmlLoadOptions());

// Ustaw pola e-mail
message.Subject = "Sending Invoice in Email";
message.From = "sender@gmail.com";
message.To = "recipient@gmail.com";
  1. Skonfiguruj klienta SMTP przy użyciu klasy Aspose.Email.Clients.Smtp.SmtpClient i wyślij wiadomość e-mail.
// Wyślij e-mail przez SMTP
SmtpClient client = new SmtpClient("smtp.gmail.com", 587, "sender@gmail.com", "pwd");
client.SecurityOptions = SecurityOptions.SSLExplicit;                
client.Send(message);

Kod źródłowy

Poniżej znajduje się pełny kod źródłowy importowania dokumentu MS Word jako treści wiadomości e-mail przy użyciu języka C#.

// Załaduj dokument programu Word z dysku
Document wordDocument = new Document("Word.docx");

// Zapisz dokument jako MHTML w strumieniu pamięci
MemoryStream mhtmlStream = new MemoryStream();
wordDocument.Save(mhtmlStream, SaveFormat.Mhtml);

// Ustaw pozycję na 0
mhtmlStream.Position = 0;

// Utwórz wiadomość e-mail z MHTML
MailMessage message = MailMessage.Load(mhtmlStream, new MhtmlLoadOptions());

// Ustaw pola e-mail
message.Subject = "Sending Invoice in Email";
message.From = "sender@gmail.com";
message.To = "recipient@gmail.com";

// Wyślij e-mail przez SMTP
SmtpClient client = new SmtpClient("smtp.gmail.com", 587, "sender@gmail.com", "pwd");
client.SecurityOptions = SecurityOptions.SSLExplicit;                
client.Send(message);

Uzyskaj bezpłatną licencję API

Możesz wypróbować interfejs API bez ograniczeń ewaluacyjnych za darmo. Uzyskaj bezpłatną tymczasową licencję teraz.

Wniosek

W tym artykule nauczyłeś się, jak zaimportować dokument programu Word jako treść wiadomości e-mail przy użyciu języka C#. Ponadto przykładowy kod pokazał, jak wysłać złożoną wiadomość e-mail za pomocą klienta SMTP. Możesz dowiedzieć się więcej o interfejsach API używanych w artykule, odwiedzając następującą dokumentację.

Zobacz też