Gmail Mesajları ve Filtreleriyle Çalışma

IGmailClient ile Başlarken

Aspose.Email for .NET, Gmail ile etkileşim için sağlam destek sağlar IGmailClient arayüz. Gmail posta kutusundaki mesajları ve filtreleri yönetebilirsiniz — listeleme, alma, gönderme, ekleme ve silme gibi işlemlerin yanı sıra otomatik sınıflandırma için özel filtre yönetimi.

Gmail özelliklerini kullanmak için, clientId, clientSecret, refreshToken ve hedef e-posta adresiyle bir IGmailClient örneği başlatmanız gerekir. Aşağıdaki tüm örnekler bu ayarı varsayar:

using (IGmailClient client = GmailClient.GetInstance(clientId, clientSecret, refreshToken, email))
{
    // Work with messages or filters
}

Gmail Posta Kutusunda Mesajları Listele

Posta kutusundaki tüm mesajları hafif bir şekilde al GmailMessageInfo nesneler. Aşağıdaki kod örneği, bir Gmail posta kutusundaki mevcut mesajların listesini tam içerik yüklemeden nasıl alabileceğinizi gösterir:

var messages = client.ListMessages();

Gmail Mesajlarını Al ve Sil

Aşağıdaki kod örneği, Gmail’den mesajları benzersiz tanımlayıcılarıyla nasıl okuyup sileceğinizi gösterir:

  1. Kullan client.ListMessages() mesajların bir listesini almak için.
  2. İlk üç mesajı yinelemek için bir for döngüsü kurun.
  3. Döngü içinde, her mesajı şu şekilde alın: client.FetchMessage(messages[i].Id).
  4. Alınan mesajın konusunu ve gövdesini yazdır.
  5. Çağırın client.DeleteMessage(messages[i].Id, true) mesajı silmek ve çöp kutusuna taşımak için.
  6. Silme işlemini mesajla onaylayın.
var messages = client.ListMessages();

for (int i = 0; i < 3; i++)
{
    var msg = client.FetchMessage(messages[i].Id);
    Console.WriteLine($"Message {i + 1}: Subject - {msg.Subject}, Body - {msg.Body}");

    client.DeleteMessage(messages[i].Id, true);
    Console.WriteLine($"Message {i + 1} moved to trash.");
}

Gmail ile Mesaj Gönder

SendMessage() metodunu kullanarak ekli bir e-posta oluşturun ve gönderin. Aşağıdaki kod örneği, Gmail üzerinden ekli bir e-posta nasıl gönderileceğini gösterir:

MailMessage message = new MailMessage("sender@example.com", "recipient@example.com", "Weekly Report", "Attached is the weekly report.");

string attachmentPath = Path.Combine(TestUtil.GetTestDataPath(), "report.pdf");
message.Attachments.Add(new Attachment(attachmentPath));

string messageId = client.SendMessage(message);
Console.WriteLine($"Message with attachment sent! ID: {messageId}");