Skicka word-dokument i e-post c#

Presentationen av e-postmeddelandenas kropp är en av de viktiga faktorerna för att engagera läsarna. Därför är e-postmeddelanden väl formaterade med hjälp av rubriker, underrubriker, tabeller, bilder etc. De flesta av de inbyggda e-postredigerarna har dock inga avancerade formateringsalternativ. För att komma till rätta med denna begränsning tar den här artikeln upp hur du skriver dina e-postmeddelanden med Word-dokument som e-posttext i C#.

C# API:er för att importera Word-dokument till e-post

För att importera innehållet från ett Word-dokument använder vi Aspose.Words for .NET API. För att skriva och skicka e-postmeddelandet kommer vi att utnyttja funktionerna i Aspose.Email for .NET. Båda de ovan nämnda API:erna kan antingen laddas ner som DLL eller installeras via NuGet.

Ladda ner DLL-filer

Installera via NuGet

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

Skicka Word-dokument i E-posttext med C#

  1. Ladda Word-dokumentet med klassen Aspose.Words.Document och spara det som MHTML i ett MemoryStream-objekt.
// Ladda ett Word-dokument från disken
Document wordDocument = new Document("Word.docx");

// Spara dokument som MHTML i minnesströmmen
MemoryStream mhtmlStream = new MemoryStream();
wordDocument.Save(mhtmlStream, SaveFormat.Mhtml);
  1. Ladda MHTML från MemoryStream-objektet till Aspose.Email.MailMessage-objektet och ange ämne, till och från fälten i e-postmeddelandet.
// Ställ in positionen till 0
mhtmlStream.Position = 0;

// Skapa e-postmeddelande från MHTML
MailMessage message = MailMessage.Load(mhtmlStream, new MhtmlLoadOptions());

// Ställ in e-postfält
message.Subject = "Sending Invoice in Email";
message.From = "sender@gmail.com";
message.To = "recipient@gmail.com";
  1. Konfigurera SMTP-klienten med klassen Aspose.Email.Clients.Smtp.SmtpClient och skicka e-postmeddelandet.
// Skicka e-post via SMTP
SmtpClient client = new SmtpClient("smtp.gmail.com", 587, "sender@gmail.com", "pwd");
client.SecurityOptions = SecurityOptions.SSLExplicit;                
client.Send(message);

Källkod

Följande är den fullständiga källkoden för att importera MS Word-dokument som en e-posttext med C#.

// Ladda ett Word-dokument från disken
Document wordDocument = new Document("Word.docx");

// Spara dokument som MHTML i minnesströmmen
MemoryStream mhtmlStream = new MemoryStream();
wordDocument.Save(mhtmlStream, SaveFormat.Mhtml);

// Ställ in positionen till 0
mhtmlStream.Position = 0;

// Skapa e-postmeddelande från MHTML
MailMessage message = MailMessage.Load(mhtmlStream, new MhtmlLoadOptions());

// Ställ in e-postfält
message.Subject = "Sending Invoice in Email";
message.From = "sender@gmail.com";
message.To = "recipient@gmail.com";

// Skicka e-post via SMTP
SmtpClient client = new SmtpClient("smtp.gmail.com", 587, "sender@gmail.com", "pwd");
client.SecurityOptions = SecurityOptions.SSLExplicit;                
client.Send(message);

Skaffa en gratis API-licens

Du kan prova API utan utvärderingsbegränsningar gratis. Få en gratis tillfällig licens nu.

Slutsats

I den här artikeln har du lärt dig hur du importerar ett Word-dokument som en e-posttext med C#. Dessutom har kodexemplet visat hur man skickar det sammansatta e-postmeddelandet med en SMTP-klient. Du kan utforska mer om API:erna som används i artikeln genom att besöka följande dokumentation.

Se även