Maison >développement back-end >C++ >Comment puis-je enregistrer des objets MailMessage sur le disque en tant que fichiers EM ou MSG ?

Comment puis-je enregistrer des objets MailMessage sur le disque en tant que fichiers EM ou MSG ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-08 10:07:42467parcourir

How Can I Save MailMessage Objects to Disk as EM or MSG Files?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn