Exportieren von .NET MailMessage-Objekten in .eml- oder .msg-Dateien
Der .NET MailMessage-Klasse fehlt eine integrierte Funktion zum direkten Speichern von E-Mail-Daten auf der Festplatte. Dies können wir jedoch mit alternativen Methoden erreichen.
Nutzung von SmtpClient und einem designierten Abholverzeichnis
Die SmtpClient
-Klasse bietet eine Lösung: E-Mail-Nachrichten an ein lokales Verzeichnis statt an einen Remote-Server weiterleiten. Dies wird erreicht, indem Sie SmtpClient
wie folgt konfigurieren:
<code class="language-csharp">SmtpClient client = new SmtpClient("mysmtphost"); // Or use an empty constructor for local saving client.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory; client.PickupDirectoryLocation = @"C:\somedirectory"; client.Send(message);</code>
Alternativ kann diese Einstellung in der Konfigurationsdatei der Anwendung definiert werden:
<code class="language-xml"><configuration> <system.net> <mailSettings> <smtp deliveryMethod="SpecifiedPickupDirectory"> <specifiedPickupDirectory pickupDirectoryLocation="C:\somedirectory"/> </smtp> </mailSettings> </system.net> </configuration></code>
Nach dem Befehl Send
werden die generierten E-Mail-Dateien im angegebenen Verzeichnis gespeichert.
Wichtiger Hinweis: Für die lokale Dateierstellung kann ein leerer Konstruktor für SmtpClient
den Prozess vereinfachen, da keine Netzwerkübertragung erforderlich ist.
Das obige ist der detaillierte Inhalt vonWie kann ich .NET MailMessage-Objekte als .eml- oder .msg-Dateien speichern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!