Dans ce didacticiel simple, nous allons apprendre à envoyer Word Document par e-mail à l’aide de C#. Dans l’exemple suivant, vous verrez à quel point il est facile d’envoyer un document Word dans le corps d’un e-mail à l’aide de C#. Vous pouvez utiliser l’exemple dans n’importe quel système d’exploitation couramment disponible comme Linux, macOS ou Windows.
Étapes pour envoyer un document Word par e-mail à l’aide de C#
- Installez les bibliothèques Aspose.Words et Aspose.Email à partir de l’outil de gestionnaire de packages NuGet dans Visual Studio.
- Initialisez l’objet de classe Document pour charger le document à envoyer par e-mail
- Enregistrez le document en tant que flux dans un format MHTML intermédiaire
- Instanciez l’instance de classe MailMessage pour charger le MHTML en tant que MailMessage et définir ses propriétés
- Instanciez le client SMTP et envoyez le document Word par e-mail à l’aide de C#
Dans les étapes ci-dessus, nous allons charger le document Word pour l’envoyer par e-mail dans la première étape. Ensuite, nous enregistrerons le document chargé dans un flux au format intermédiaire MHTML. Dans les étapes suivantes, nous chargerons le MHTML à l’aide de la * classe MailMessage * et définirons ses propriétés de messagerie. Enfin, une instance de la classe client SMTP sera instanciée pour créer un e-mail à partir de DOCX en C#.
Code pour envoyer un document Word par e-mail à l’aide de 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); | |
} | |
} | |
} |
Dans l’exemple ci-dessus, nous avons * envoyer un document Word dans le corps de l’e-mail en utilisant C# * en adoptant une approche en deux étapes. Dans un premier temps, nous avons chargé et enregistré le DOCX en tant que fichier MHTML au format intermédiaire à l’aide de flux. Puis en deuxième étape, nous avons chargé le MHTML en flux en utilisant MailMessage. Enfin, en utilisant le client SMTP, nous envoyons le document par e-mail en C#.
Dans ce sujet simple, nous avons exploré comment * créer un courrier électronique à partir de DOCX à l’aide de C# *. Toutefois, si vous recherchez une conversion de fichier DOCX en fichier MD, reportez-vous à l’article sur comment convertir Word en Markdown en utilisant C#.