Cara Menyimpan Pesan Email ke Disk di C#

Dalam tutorial langkah demi langkah ini, kami akan menjelaskan cara menyimpan pesan email ke disk di C#. Pesan email dapat disimpan sebagai format file EML or MSG pada disk. Kami akan menerima pesan dari kotak email Exchange, namun Anda juga dapat menerima pesan dari kotak surat lain dan menyimpannya ke disk.

Langkah-langkah untuk Menyimpan Pesan Email ke Disk di C#

  1. Dapatkan paket Aspose.Email for .NET dari NuGet.org
  2. Sertakan Aspose.Email.Clients.Exchange dan Aspose.Email.Clients.Exchange.WebService ruang nama
  3. Tetapkan lisensi dengan bantuan metode SetLicense
  4. Berikan informasi akun Exchange Server
  5. Buat objek kelas NetworkCredential
  6. Buat objek klien Exchange baru dari Kelas EWSClient
  7. Ulangi semua pesan email yang dibaca dari kotak surat
  8. Simpan setiap pesan email individu ke EML or MSG file formats

Dengan mengikuti langkah-langkah sederhana di atas, Anda dapat menyimpan pesan email ke EML dalam kode C# pada disk. Dalam topik kami sebelumnya, kami menjelaskan cara mengirim email di c# menggunakan server SMTP Gmail. Namun, dalam topik ini, kami menggunakan server Exchange untuk mengambil email dan kemudian menyimpannya ke disk.

Kode untuk Menyimpan Pesan Email ke Disk di C#

using System;
using System.Net;
//Add reference to Aspose.Email for .NET API
//Use following namespaces to save email message to disk
using Aspose.Email.Clients.Exchange;
using Aspose.Email.Clients.Exchange.WebService;
namespace SaveEmailMessageToDisk
{
class Program
{
static void Main(string[] args)
{
//Set license before saving email message to disk
Aspose.Email.License AsposeEmailLicense = new Aspose.Email.License();
AsposeEmailLicense.SetLicense(@"c:\asposelicense\license.lic");
//setup account information
const string MailBoxUri = "https://outlook.office365.com/ews/exchange.asmx";
const string Domain = @"";
const string Username = @"username@outlook.com";
const string Password = @"userpassword";
NetworkCredential CredentiaDetails =
new NetworkCredential(Username, Password, Domain);
//create email client
IEWSClient EmailClient = EWSClient.GetEWSClient(MailBoxUri, CredentiaDetails);
try
{
//get mail box
ExchangeMailboxInfo MailBoxInfo = EmailClient.GetMailboxInfo();
//get list of all messages from the mail box
ExchangeMessageInfoCollection MessagesCollection =
EmailClient.ListMessages(EmailClient.MailboxInfo.InboxUri);
//Loop through email messages
int MessageCount = 1;
foreach (ExchangeMessageInfo MessageInfo in MessagesCollection)
{
string strMessageURI = MessageInfo.UniqueUri;
//get message details
Console.WriteLine("Subject: " + MessageInfo.Subject);
Console.WriteLine("From: " + MessageInfo.From.ToString());
Console.WriteLine("To: " + MessageInfo.To.ToString());
Console.WriteLine("Message ID: " + MessageInfo.MessageId);
Console.WriteLine("Unique URI: " + MessageInfo.UniqueUri);
//save each message to disk
EmailClient.SaveMessage(strMessageURI, "Messsage_" + MessageCount + ".eml");
EmailClient.SaveMessage(strMessageURI, "Messsage_" + MessageCount + ".msg");
MessageCount++;
}
}
catch (Exception ex)
{
Console.WriteLine("Error: {0}", ex.Message);
}
}
}
}

Dalam kode di atas, kami menyimpan pesan email sebagai format .eml dan .msg. Harap perhatikan bahwa dalam kode ini, kami mengambil semua pesan dan menyimpannya satu per satu dalam file terpisah. Namun, jika kotak masuk Anda memiliki banyak pesan, maka Anda perlu mengubah pendekatan yang sesuai.

 Indonesian