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
- Steg för att skicka Word-dokument i E-posttext i C#
- Komplett källkod
- Skaffa en gratis API-licens
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#
- 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);
- 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";
- 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.