Odeslat dokument aplikace Word v e-mailu c#

Prezentace těla e-mailů je jedním z důležitých faktorů pro zapojení čtenářů. Proto jsou e-maily dobře formátovány pomocí nadpisů, podnadpisů, tabulek, obrázků atd. Většina vestavěných editorů e-mailů však neposkytuje pokročilé možnosti formátování. Abychom toto omezení vyřešili, tento článek popisuje, jak vytvářet e-maily pomocí dokumentů Word jako těla e-mailu v C#.

C# API pro import dokumentu Word do e-mailu

Abychom mohli importovat obsah z dokumentu aplikace Word, použijeme Aspose.Words for .NET API. Zatímco k sepsání a odeslání e-mailu využijeme možnosti Aspose.Email for .NET. Obě výše uvedená rozhraní API lze stáhnout jako DLL nebo nainstalovat pomocí NuGet.

Stáhněte si knihovny DLL

Nainstalujte přes NuGet

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

Odeslat dokument Word v těle e-mailu pomocí C#

  1. Načtěte dokument aplikace Word pomocí třídy Aspose.Words.Document a uložte jej jako MHTML do objektu MemoryStream.
// Načtěte dokument aplikace Word z disku
Document wordDocument = new Document("Word.docx");

// Uložte dokument jako MHTML do proudu paměti
MemoryStream mhtmlStream = new MemoryStream();
wordDocument.Save(mhtmlStream, SaveFormat.Mhtml);
  1. Načtěte MHTML z objektu MemoryStream do objektu Aspose.Email.MailMessage a nastavte předmět, do a z polí e-mailu.
// Nastavte pozici na 0
mhtmlStream.Position = 0;

// Vytvořte e-mailovou zprávu z MHTML
MailMessage message = MailMessage.Load(mhtmlStream, new MhtmlLoadOptions());

// Nastavte pole pro e-mail
message.Subject = "Sending Invoice in Email";
message.From = "sender@gmail.com";
message.To = "recipient@gmail.com";
  1. Nastavte klienta SMTP pomocí třídy Aspose.Email.Clients.Smtp.SmtpClient a odešlete e-mail.
// Odeslat e-mail přes SMTP
SmtpClient client = new SmtpClient("smtp.gmail.com", 587, "sender@gmail.com", "pwd");
client.SecurityOptions = SecurityOptions.SSLExplicit;                
client.Send(message);

Zdrojový kód

Níže je uveden úplný zdrojový kód importu dokumentu MS Word jako těla e-mailu pomocí C#.

// Načtěte dokument aplikace Word z disku
Document wordDocument = new Document("Word.docx");

// Uložte dokument jako MHTML do proudu paměti
MemoryStream mhtmlStream = new MemoryStream();
wordDocument.Save(mhtmlStream, SaveFormat.Mhtml);

// Nastavte pozici na 0
mhtmlStream.Position = 0;

// Vytvořte e-mailovou zprávu z MHTML
MailMessage message = MailMessage.Load(mhtmlStream, new MhtmlLoadOptions());

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

// Odeslat e-mail přes SMTP
SmtpClient client = new SmtpClient("smtp.gmail.com", 587, "sender@gmail.com", "pwd");
client.SecurityOptions = SecurityOptions.SSLExplicit;                
client.Send(message);

Získejte bezplatnou licenci API

API si můžete vyzkoušet bez omezení hodnocení zdarma. Získejte bezplatnou dočasnou licenci nyní.

Závěr

V tomto článku jste se naučili importovat dokument Word jako tělo e-mailu pomocí C#. Kromě toho ukázka kódu ukázala, jak odeslat vytvořenou e-mailovou zprávu pomocí klienta SMTP. Další informace o používaných rozhraních API můžete v článku prozkoumat v následující dokumentaci.

Viz také