La présentation du corps des e-mails est l’un des facteurs importants pour engager les lecteurs. Par conséquent, les e-mails sont bien formatés à l’aide d’en-têtes, de sous-titres, de tableaux, d’images, etc. Cependant, la plupart des éditeurs d’e-mails intégrés ne fournissent pas d’options de formatage avancées. Afin de remédier à cette limitation, cet article explique comment composer vos e-mails en utilisant des documents Word comme corps d’e-mail en C#.
- API C# pour importer un document Word dans un e-mail
- Étapes pour envoyer un document Word dans le corps de l’e-mail en C#
- Code source complet
- Obtenez une licence API gratuite
API C# pour importer un document Word dans un e-mail
Pour importer le contenu d’un document Word, nous utiliserons l’API Aspose.Words for .NET. Alors que, pour composer et envoyer l’e-mail, nous tirerons parti des capacités de Aspose.Email for .NET. Les deux API mentionnées ci-dessus peuvent être téléchargées en tant que DLL ou installées via NuGet.
Télécharger les DLL
Installer via NuGet
PM> Install-Package Aspose.Words
PM> Install-Package Aspose.Email
Envoyer un document Word dans le corps de l’e-mail à l’aide de C#
- Chargez le document Word à l’aide de la classe Aspose.Words.Document et enregistrez-le au format MHTML dans un objet MemoryStream.
// Charger un document Word à partir du disque
Document wordDocument = new Document("Word.docx");
// Enregistrer le document au format MHTML dans le flux de mémoire
MemoryStream mhtmlStream = new MemoryStream();
wordDocument.Save(mhtmlStream, SaveFormat.Mhtml);
- Chargez le MHTML de l’objet MemoryStream dans l’objet Aspose.Email.MailMessage et définissez l’objet, vers et depuis les champs de l’e-mail.
// Mettre la position à 0
mhtmlStream.Position = 0;
// Créer un message électronique à partir de MHTML
MailMessage message = MailMessage.Load(mhtmlStream, new MhtmlLoadOptions());
// Définir les champs d'e-mail
message.Subject = "Sending Invoice in Email";
message.From = "sender@gmail.com";
message.To = "recipient@gmail.com";
- Configurez le client SMTP à l’aide de la classe Aspose.Email.Clients.Smtp.SmtpClient et envoyez l’e-mail.
// Envoyer un e-mail via SMTP
SmtpClient client = new SmtpClient("smtp.gmail.com", 587, "sender@gmail.com", "pwd");
client.SecurityOptions = SecurityOptions.SSLExplicit;
client.Send(message);
Code source
Voici le code source complet de l’importation d’un document MS Word en tant que corps d’e-mail à l’aide de C#.
// Charger un document Word à partir du disque
Document wordDocument = new Document("Word.docx");
// Enregistrer le document au format MHTML dans le flux de mémoire
MemoryStream mhtmlStream = new MemoryStream();
wordDocument.Save(mhtmlStream, SaveFormat.Mhtml);
// Mettre la position à 0
mhtmlStream.Position = 0;
// Créer un message électronique à partir de MHTML
MailMessage message = MailMessage.Load(mhtmlStream, new MhtmlLoadOptions());
// Définir les champs d'e-mail
message.Subject = "Sending Invoice in Email";
message.From = "sender@gmail.com";
message.To = "recipient@gmail.com";
// Envoyer un e-mail via SMTP
SmtpClient client = new SmtpClient("smtp.gmail.com", 587, "sender@gmail.com", "pwd");
client.SecurityOptions = SecurityOptions.SSLExplicit;
client.Send(message);
Obtenez une licence API gratuite
Vous pouvez essayer gratuitement l’API sans limitations d’évaluation. Obtenez une licence temporaire gratuite maintenant.
Conclusion
Dans cet article, vous avez appris à importer un document Word en tant que corps d’e-mail à l’aide de C#. De plus, l’exemple de code a montré comment envoyer le message électronique composé à l’aide d’un client SMTP. Vous pouvez en savoir plus sur les API utilisées dans l’article en visitant les documentations suivantes.