MailMessage-Objekte als .eml- oder .msg-Dateien beibehalten
Entwickler müssen häufig E-Mail-Nachrichten, die durch MailMessage
Objekte dargestellt werden, im Dateisystem speichern. Leider unterstützt die Klasse MailMessage
das Speichern auf der Festplatte nicht direkt. Dieser Artikel stellt eine praktische Lösung vor.
Die Lösung: Nutzung von SmtpClient
Der Schlüssel liegt in der Verwendung der Klasse SmtpClient
. Indem wir die Eigenschaft DeliveryMethod
auf SmtpDeliveryMethod.SpecifiedPickupDirectory
setzen, leiten wir den E-Mail-Nachrichtenspeicher in einen lokalen Ordner um und umgehen so effektiv die Netzwerkübertragung.
Codebeispiel:
<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>
Alternative Konfiguration: App.config
Für mehr Flexibilität konfigurieren Sie die SmtpClient
-Einstellungen in der Konfigurationsdatei Ihrer Anwendung (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>
Diese Methode generiert beim Aufruf von client.Send()
E-Mail-Dateien (.eml oder .msg, abhängig vom verwendeten E-Mail-Client) im angegebenen Verzeichnis. Diese Dateien können später bearbeitet oder versendet werden.
Das obige ist der detaillierte Inhalt vonWie kann ich MailMessage-Objekte als .eml- oder .msg-Dateien auf der Festplatte speichern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!