Praca z wiadomościami i filtrami Gmail

Rozpoczęcie pracy z IGmailClient

Aspose.Email dla .NET zapewnia solidne wsparcie w interakcji z Gmail poprzez IGmailClient interfejs. Możesz zarządzać wiadomościami i filtrami w skrzynce Gmail — w tym listowaniem, pobieraniem, wysyłaniem, dołączaniem i usuwaniem e‑maili, a także zarządzaniem własnymi filtrami do automatycznej klasyfikacji.

Aby korzystać z funkcji Gmail, musisz zainicjować instancję IGmailClient używając clientId, clientSecret, refreshToken oraz docelowego adresu e‑mail. Wszystkie poniższe przykłady zakładają taką konfigurację:

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

Lista wiadomości w skrzynce Gmail

Pobierz wszystkie wiadomości ze skrzynki w formie lekkiej GmailMessageInfo obiekty. Poniższy przykład kodu demonstruje, jak pobrać listę dostępnych wiadomości w skrzynce Gmail bez ładowania pełnej treści:

var messages = client.ListMessages();

Pobierz i usuń wiadomości Gmail

Poniższy przykład kodu demonstruje, jak odczytywać i usuwać wiadomości z Gmaila przy użyciu ich unikalnych identyfikatorów:

  1. Użyj client.ListMessages() aby pobrać listę wiadomości.
  2. Ustaw pętlę for, aby iterować przez pierwsze trzy wiadomości.
  3. Wewnątrz pętli pobierz każdą wiadomość używając client.FetchMessage(messages[i].Id).
  4. Wydrukuj temat i treść pobranej wiadomości.
  5. Wywołaj client.DeleteMessage(messages[i].Id, true) aby usunąć wiadomość i przenieść ją do kosza.
  6. Potwierdź usunięcie wiadomości.
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.");
}

Wyślij wiadomość przez Gmail

Twórz i wyślij e‑mail, w tym załączniki, używając metody SendMessage(). Poniższy przykład kodu demonstruje, jak wysłać e‑mail przez Gmail z załącznikiem:

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}");