Comment envoyer un document Word par e-mail à l'aide de C#

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#

  1. Installez les bibliothèques Aspose.Words et Aspose.Email à partir de l’outil de gestionnaire de packages NuGet dans Visual Studio.
  2. Initialisez l’objet de classe Document pour charger le document à envoyer par e-mail
  3. Enregistrez le document en tant que flux dans un format MHTML intermédiaire
  4. Instanciez l’instance de classe MailMessage pour charger le MHTML en tant que MailMessage et définir ses propriétés
  5. 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#.

 Français