Zarządzanie wiadomościami Gmail przy użyciu IGmailClient w Pythonie
Aspose.Email dla Pythona poprzez .NET zapewnia rozszerzone możliwości pracy z kontami Gmail za pośrednictwem IGmailClient klasa. Obejmuje to wylistowywanie, wysyłanie, dołączanie, pobieranie i usuwanie wiadomości, a także zarządzanie filtrami Gmail.
Przed użyciem IGmailClient, uwierzytelnij się przy użyciu swojego identyfikatora klienta, tajnego klucza, tokenu odświeżania i adresu e‑mail. Następnie utwórz instancję klienta Gmail:
from aspose.email.clients.google import GmailClient
client = GmailClient.get_instance(client_id, client_secret, refresh_token, email)
Wyślij e‑mail przy użyciu Gmail API
Aby wysłać e‑mail z załącznikiem z konta Gmail, użyj send_message metoda IGmailClient klasa.
Poniższy przykład kodu demonstruje, jak utworzyć i wysłać e‑mail z załącznikiem przy użyciu Gmail API:
from aspose.email import MailMessage, Attachment
# Create the message
message = MailMessage("sender@example.com", "recipient@example.com", "Weekly Report", "Attached is the weekly report.")
# Add an attachment
attachment_path = "path/to/report.pdf"
message.attachments.add(Attachment(attachment_path))
# Send the message
message_id = client.send_message(message)
print(f"Message with attachment sent! ID: {message_id}")
Dołącz wiadomość do folderu Gmail
Aby dodać wiadomości bezpośrednio do skrzynki Gmail, omijając standardową klasyfikację, użyj następujących metod:
- append_message(msg) dla domyślnego zachowania.
- append_message(msg, label_name) aby określić własną etykietę.
Poniższy przykład kodu demonstruje, jak utworzyć wiadomość e‑mail i dodać ją do skrzynki odbiorczej odbiorcy z określoną etykietą przy użyciu klienta Gmail:
message = MailMessage("sender@example.com", "recipient@example.com", "Subject for inbox message", "Body of the message")
# Append the message to the inbox with a label
message_id = client.append_message(message, "INBOX")
print(f"Message appended to the Inbox. ID: {message_id}")
Wylistuj wiadomości Gmail
Możesz pobrać listę wszystkich wiadomości w skrzynce Gmail przy użyciu list_messages() metoda IGmailClient klasa. Każdy element w zwróconej liście jest GmailMessageInfo obiekt zawierający lekkie metadane, takie jak ‘id’ i ’thread_id’.
Poniższy przykład kodu demonstruje, jak pobrać i wyświetlić informacje o wszystkich wiadomościach Gmail w skrzynce odbiorczej użytkownika:
# List all Gmail messages
messages = client.list_messages()
# Print basic info for each message
for i, msg_info in enumerate(messages):
print(f"Message {i + 1}: ID = {msg_info.id}, Thread ID = {msg_info.thread_id}")
Pobierz treść wiadomości Gmail
Po pobraniu metadanych wiadomości, użyj fetch_message(message_id) aby pobrać pełną treść określonej wiadomości jako MailMessage obiekt. Umożliwia dostęp do tematu, treści, załączników i innych szczegółów wiadomości.
Poniższy przykład kodu demonstruje, jak pobrać i wyświetlić treść pierwszych trzech wiadomości Gmail z skrzynki odbiorczej użytkownika:
# Fetch and display content for the first 3 messages
for i in range(min(3, len(messages))):
message = client.fetch_message(messages[i].id)
print(f"Message {i + 1}")
print("Subject:", message.subject)
print("Body:", message.body)
Usuń wiadomości Gmail
Użyj delete_message(message_id, move_to_trash) metoda IGmailClient klasa do usuwania wiadomości. Możesz ją przenieść do kosza (nie trwale) lub usunąć natychmiast i trwale, pomijając drugi parametr lub przekazując False.
Poniższy przykład kodu pokazuje, jak przenieść pierwsze trzy wiadomości z listy (np. e‑maile) do kosza:
# Move the first 3 messages to trash
for i in range(min(3, len(messages))):
client.delete_message(messages[i].id, True) # True = move to trash
print(f"Message {i + 1} moved to trash.")
Zarządzaj filtrami Gmail
Aspose.Email for Python udostępnia następujące metody IGmailClient klasa automatyzująca proces konfigurowania filtru w celu organizacji przychodzących e‑maili na podstawie tematu oraz zarządzania istniejącymi filtrami w koncie Google:
list_filters()- Pobiera wszystkie filtry zastosowane w skrzynce pocztowej.create_filter(filter)- Dodaje nowy filtr z własnymi kryteriami i akcjami.get_filter(id)- Pobiera szczegóły określonego filtru.delete_filter(id)- Trwale usuwa filtry.
Utwórz i wyświetl filtry Gmail
Poniższy przykład kodu pokazuje, jak utworzyć i zarządzać filtrem e‑mail przy użyciu biblioteki Aspose.Email, specjalnie dla klienta Google:
from aspose.email.clients.google.filters import Filter, Criteria, Action
# Create a new filter
filter_obj = Filter()
filter_obj.matching_criteria = Criteria()
filter_obj.matching_criteria.subject = "Important"
filter_obj.action = Action()
filter_obj.action.add_label_ids = ["IMPORTANT"]
# Create the filter
filter_id = client.create_filter(filter_obj)
print(f"Filter created! ID: {filter_id}")
# List all filters
filters = client.list_filters()
for f in filters:
print(f"Filter ID: {f.id}")
Usuń filtry Gmail
Poniższy przykład kodu pokazuje, jak usunąć wszystkie filtry z konta Gmail:
filters = client.list_filters()
# Delete each filter
for f in filters:
client.delete_filter(f.id)
print(f"Filter ID: {f.id} deleted.")