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