Maison >développement back-end >C++ >Comment puis-je enregistrer des objets MailMessage sur le disque en tant que fichiers .eml ou .msg ?
Objets MailMessage persistants sous forme de fichiers .eml ou .msg
Fréquemment, les développeurs doivent enregistrer les messages électroniques représentés par MailMessage
objets dans le système de fichiers. Malheureusement, la classe MailMessage
ne prend pas directement en charge la sauvegarde sur disque. Cet article présente une solution pratique.
La solution : tirer parti de SmtpClient
La clé est d'utiliser la classe SmtpClient
. En définissant sa propriété DeliveryMethod
sur SmtpDeliveryMethod.SpecifiedPickupDirectory
, nous redirigeons le stockage des messages électroniques vers un dossier local, contournant ainsi la transmission réseau.
Exemple de code :
<code class="language-csharp">using System.Net.Mail; namespace EmailFileWriter { class Program { static void Main(string[] args) { // Initialize a MailMessage object. Content can be added as needed. MailMessage email = new MailMessage(); // Configure SmtpClient for local file storage. SmtpClient client = new SmtpClient(); client.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; client.PickupDirectoryLocation = @"C:\somedirectory"; // Specify your desired path // "Sending" the email saves it to the specified directory. client.Send(email); } } }</code>
Configuration alternative : App.config
Pour une flexibilité accrue, configurez les paramètres SmtpClient
dans le fichier de configuration de votre application (App.config
) :
<code class="language-xml"><?xml version="1.0" encoding="utf-8"?> <configuration> <system.net> <mailSettings> <smtp deliveryMethod="SpecifiedPickupDirectory"> <specifiedPickupDirectory pickupDirectoryLocation="C:\somedirectory" /> </smtp> </mailSettings> </system.net> </configuration></code>
Cette méthode génère des fichiers email (.eml ou .msg, selon le client de messagerie utilisé) dans le répertoire désigné lors de l'appel client.Send()
. Ces fichiers peuvent être traités ou envoyés ultérieurement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!