Heim > Backend-Entwicklung > C++ > Wie kann ich MailMessage-Objekte als .eml- oder .msg-Dateien auf der Festplatte speichern?

Wie kann ich MailMessage-Objekte als .eml- oder .msg-Dateien auf der Festplatte speichern?

Mary-Kate Olsen
Freigeben: 2025-01-08 10:21:41
Original
1036 Leute haben es durchsucht

How Can I Save MailMessage Objects to Disk as .eml or .msg Files?

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage