Maison >développement back-end >C++ >Comment puis-je enregistrer des objets MailMessage sur le disque en tant que fichiers EM ou MSG ?
Objets MailMessage persistants sous forme de fichiers EM ou MSG
L'absence d'une méthode Save()
intégrée pour les objets MailMessage
présente souvent un défi lors de l'archivage local des e-mails. Cependant, plusieurs méthodes répondent efficacement à cette limitation.
Exploitation de la fonctionnalité de répertoire de collecte de SmtpClient
La classe SmtpClient
propose une solution flexible via sa propriété DeliveryMethod
, plus précisément SpecifiedPickupDirectory
. Cela vous permet de rediriger les e-mails vers un dossier local au lieu de les transmettre sur un réseau. Cela enregistre efficacement l'objet MailMessage
sous forme de fichier :
<code class="language-csharp">SmtpClient client = new SmtpClient(); // Use empty constructor client.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; client.PickupDirectoryLocation = @"C:\somedirectory"; client.Send(message);</code>
Vous pouvez également configurer ce paramètre dans le fichier de configuration de votre application :
<code class="language-xml"><configuration> <system.net> <mailSettings> <smtp deliveryMethod="SpecifiedPickupDirectory"> <specifiedPickupDirectory pickupDirectoryLocation="C:\somedirectory"/> </smtp> </mailSettings> </system.net> </configuration></code>
Suite à l'opération Send()
, l'email sera stocké sous forme de fichier email (généralement au format MSG ou EML, selon le système) dans le répertoire désigné.
Remarque importante : L'utilisation du constructeur vide pour SmtpClient
est recommandée, car la spécification de l'hôte n'est pas pertinente pour le stockage de fichiers locaux.
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!