Objets MailMessage persistants sous forme de fichiers EML ou MSG
La classe .NET MailMessage
n'offre pas de méthode directe pour se sauvegarder sur le disque. Il existe cependant des solutions de contournement pour y parvenir, en fonction de vos besoins.
Une approche consiste à rediriger la livraison des e-mails vers le système de fichiers à l'aide de SmtpClient
. Cette méthode ne crée pas directement de fichiers EML ou MSG, mais génère à la place des fichiers qui peuvent être traités ultérieurement.
Méthode 1 : Configuration programmatique
Cette approche configure le SmtpClient
pour écrire des e-mails dans un répertoire spécifié :
<code class="language-csharp">SmtpClient client = new SmtpClient("mysmtphost"); client.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; client.PickupDirectoryLocation = @"C:\somedirectory"; client.Send(message);</code>
Cela créera des fichiers de courrier électronique dans le répertoire spécifié. Un processus distinct peut alors gérer la transmission de ces fichiers.
Méthode 2 : configuration de l'application
Vous pouvez également configurer le mode de livraison via 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>
Cela permet d'obtenir le même résultat que l'approche programmatique. Les fichiers de courrier électronique sont enregistrés dans le répertoire spécifié et peuvent être traités ultérieurement.
N'oubliez pas de choisir un répertoire approprié et de vous assurer que votre application dispose des autorisations nécessaires pour écrire à cet emplacement. Cette méthode est utile pour le traitement par lots ou les scénarios dans lesquels une transmission réseau immédiate n’est pas requise. Pour la création directe de fichiers EML/MSG, vous devrez explorer des bibliothèques tierces ou écrire des fichiers personnalisés en fonction du contenu du message électronique.
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!