In diesem einfachen Tutorial lernen wir, wie man Word Document per E-Mail mit C# sendet**. Im folgenden Beispiel sehen Sie, wie einfach es ist, mit C# ein Word-Dokument im E-Mail-Text zu senden. Sie können das Beispiel in jedem gängigen Betriebssystem wie Linux, macOS oder Windows verwenden.
Schritte zum Senden von Word-Dokumenten per E-Mail mit C#
- Installieren Sie die Bibliotheken Aspose.Words und Aspose.Email aus dem NuGet-Paket-Manager-Tool in Visual Studio.
- Initialisieren Sie das Klassenobjekt Document, um das als E-Mail zu versendende Dokument zu laden
- Speichern Sie das Dokument als Stream in einem MHTML-Zwischenformat
- Instanziieren Sie die MailMessage-Klasseninstanz, um die MHTML als MailMessage zu laden und ihre Eigenschaften festzulegen
- Instanziieren Sie den SMTP-Client und senden Sie das Word-Dokument als E-Mail mit C#
In den obigen Schritten laden wir im ersten Schritt das Word-Dokument zum Versenden als E-Mail. Dann speichern wir das geladene Dokument in einem Stream im Zwischenformat MHTML. In den nachfolgenden Schritten laden wir MHTML mithilfe der MailMessage-Klasse und legen seine E-Mail-Eigenschaften fest. Schließlich wird eine Instanz der Client-Klasse SMTP instanziiert, um E-Mails aus DOCX in C# zu erstellen.
Code zum Senden von Word-Dokumenten per E-Mail mit C#
using System; | |
using System.IO; | |
using Aspose.Email; | |
using Aspose.Email.Clients; | |
using Aspose.Email.Clients.Smtp; | |
using Aspose.Words; | |
namespace WordKB | |
{ | |
class WordsEmail | |
{ | |
static void Main(string[] args) | |
{ | |
// Use Aspose.Words and Aspose.Email licenses to remove evaluation version limitations | |
Aspose.Words.License LicenseForWord = new Aspose.Words.License(); | |
LicenseForWord.SetLicense("Aspose.Total.API.lic"); | |
Aspose.Email.License LicenseForEmail = new Aspose.Email.License(); | |
LicenseForEmail.SetLicense("Aspose.Total.API.lic"); | |
// Load the document for sending as email using Document class | |
Document EmaiDocument = new Document("EmailDocument.docx"); | |
// Convert the document to MHTML format by using memory stream | |
Stream EmailStream = new MemoryStream(); | |
EmaiDocument.Save(EmailStream, SaveFormat.Mhtml); | |
// Now, reset the EmailStream position to the beginning | |
EmailStream.Position = 0; | |
// Create an Aspose.Email message from the saved stream | |
Aspose.Email.MailMessage EmailMessage = | |
Aspose.Email.MailMessage.Load(EmailStream, new MhtmlLoadOptions()); | |
// Set properties of email to send | |
EmailMessage.From = "your_from_email@email.com"; | |
EmailMessage.To = "your_to_email@email.com"; | |
EmailMessage.Subject = "Test Message using Aspose. Words and Aspose.Email APIs"; | |
// Initialize SMTP client and it's properties to send email | |
SmtpClient SMTPClient = new SmtpClient(); | |
SMTPClient.Host = "smtp.gmail.com"; | |
SMTPClient.Username = "YourEmail@gmail.com"; | |
SMTPClient.Password = "Your Gamil Password"; | |
SMTPClient.Port = 587; | |
SMTPClient.SecurityOptions = SecurityOptions.SSLExplicit; | |
// Send word email message | |
SMTPClient.Send(EmailMessage); | |
} | |
} | |
} |
Im obigen Beispiel haben wir Word-Dokument im E-Mail-Text mit C# gesendet, indem wir einen zweistufigen Ansatz gewählt haben. Im ersten Schritt haben wir das DOCX als MHTML-Datei im Zwischenformat mithilfe von Streams geladen und gespeichert. Dann haben wir im zweiten Schritt das MHTML im Stream mit MailMessage geladen. Schließlich senden wir mit SMTP-Client Dokumente per E-Mail in C#*.
In diesem einfachen Thema haben wir untersucht, wie Sie E-Mails aus DOCX mit C# erstellen. Wenn Sie jedoch nach einer Konvertierung von DOCX- in MD-Dateien suchen, lesen Sie den Artikel zu wie man Word mit C# in Markdown umwandelt.