حذف پیام‌های ایمیل تک‌تکه و چندتایی با ImapClient

حذف پیام‌ها

این ImapClient کلاس می‌تواند پیام‌ها را از یک سرور IMAP حذف کند. ImapClient کلاس DeleteMessage() تابعی که برای حذف پیام‌ها استفاده می‌شود. این تابع شماره توالی پیام یا شناسه یکتا را به‌عنوان پارامتر می‌گیرد. ImapClient فراهم می‌کند DeleteMessage و DeleteMessages روش‌هایی برای حذف پیام‌ها به‌صورت تک‌تک یا به‌صورت چندگانه. کد نمونه زیر نشان می‌دهد چطور یک پیام ایمیل با شناسه پیام ۱ را از یک سرور IMAP حذف کنید.

using var client = new ImapClient("host", "username", "password");
client.SecurityOptions = SecurityOptions.SSLImplicit;

// Append test message
client.SelectFolder(ImapFolderInfo.InBox);

var eml = new MailMessage("from@from.com", "to@to.com")
{
  Subject = "Message to delete",
  Body = "Hey! This Message will be deleted!"
};
var emlId = client.AppendMessage(eml);

// Delete appended message
client.DeleteMessage(emlId);
client.CommitDeletes();

حذف چندین پیام

ایمیل‌های متعدد می‌توانند با استفاده از ImapClient از API Aspose.Email. DeleteMessages متد گزینه‌های متعددی برای حذف چندین پیام از سرور با استفاده از شناسه‌های یکتا، شماره‌های توالی یا ImapMessageInfoCollection عناصر. کد نمونه زیر نشان می‌دهد چگونه چندین پیام را حذف کنید.

using var client = new ImapClient("host", "username", "password");
client.SelectFolder(ImapFolderInfo.InBox);
            
// Append test messages
var emlList = new List<MailMessage>();
{
  var eml = new MailMessage("from@from.com", "to@to.com")
  {
    Subject = $"Message to delete {i}",
    Body = "Hey! This Message will be deleted!"
  };
                
  emlList.Add(eml);
}

var appendMessagesResult = client.AppendMessages(emlList);
            
// Bulk Delete appended Messages
client.DeleteMessages(appendMessagesResult.Succeeded.Values, true);
client.CommitDeletes();