Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menyimpan Objek MelMessage ke Cakera sebagai Fail .eml atau .msg?

Bagaimanakah Saya Boleh Menyimpan Objek MelMessage ke Cakera sebagai Fail .eml atau .msg?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-08 10:21:411039semak imbas

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

Objek MelMessage yang berterusan sebagai Fail .eml atau .msg

Selalunya, pembangun perlu menyimpan mesej e-mel yang diwakili oleh MailMessage objek ke sistem fail. Malangnya, kelas MailMessage tidak menyokong penyimpanan ke cakera secara langsung. Artikel ini membentangkan penyelesaian praktikal.

Penyelesaian: Memanfaatkan SmtpClient

Kuncinya ialah menggunakan kelas SmtpClient. Dengan menetapkan sifat DeliveryMethodnya kepada SmtpDeliveryMethod.SpecifiedPickupDirectory, kami mengubah hala storan mesej e-mel ke folder setempat, dengan berkesan memintas penghantaran rangkaian.

Contoh Kod:

<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>

Tatarajah Alternatif: App.config

Untuk fleksibiliti yang dipertingkatkan, konfigurasikan tetapan SmtpClient dalam fail konfigurasi aplikasi anda (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>

Kaedah ini menjana fail e-mel (.eml atau .msg, bergantung pada klien e-mel yang digunakan) dalam direktori yang ditetapkan semasa memanggil client.Send(). Fail ini boleh diproses atau dihantar kemudian.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyimpan Objek MelMessage ke Cakera sebagai Fail .eml atau .msg?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn