Správa Gmail zpráv pomocí IGmailClient v Pythonu
Aspose.Email pro Python přes .NET poskytuje rozšířené možnosti práce s účty Gmail prostřednictvím IGmailClient třída. To zahrnuje výpis, odesílání, připojování, načítání a mazání zpráv, stejně jako správu filtrů Gmail.
Před použitím IGmailClient, autentizujte se pomocí svého client ID, client secret, refresh tokenu a e‑mailové adresy. Poté vytvořte instanci klienta Gmail:
from aspose.email.clients.google import GmailClient
client = GmailClient.get_instance(client_id, client_secret, refresh_token, email)
Odeslat e‑mail pomocí Gmail API
Pro odeslání e‑mailu s přílohou pomocí účtu Gmail použijte send_message metoda třídy IGmailClient třída.
Následující ukázkový kód ukazuje, jak vytvořit a odeslat e‑mail s přílohou pomocí 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}")
Připojit zprávu do složky Gmail
Pro přidání zpráv přímo do poštovní schránky Gmail, obcházející standardní klasifikaci, použijte následující metody:
- append_message(msg) pro výchozí chování.
- append_message(msg, label_name) pro zadání vlastního štítku.
Níže uvedený ukázkový kód ukazuje, jak vytvořit e‑mailovou zprávu a připojit ji do doručené pošty příjemce s konkrétním štítkem pomocí 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}")
Seznam zpráv Gmail
Seznam všech zpráv v poštovní schránce Gmail můžete získat pomocí list_messages() metoda třídy IGmailClient třída. Každá položka v vráceném seznamu je GmailMessageInfo objekt obsahující lehká metadata, jako jsou ‘id’ a ’thread_id’.
Níže uvedený ukázkový kód ukazuje, jak získat a zobrazit informace o všech zprávách Gmail v doručené poště uživatele:
# 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}")
Načíst obsah zprávy Gmail
Po načtení metadat zprávy použijte fetch_message(message_id) ke stažení úplného obsahu konkrétní zprávy jako MailMessage objekt. To umožňuje přístup k předmětu, tělu, přílohám a dalším podrobnostem zprávy.
Níže uvedený ukázkový kód demonstruje, jak načíst a zobrazit obsah prvních tří zpráv Gmail z doručené pošty uživatele:
# 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)
Smazat zprávy Gmail
Použijte delete_message(message_id, move_to_trash) metoda třídy IGmailClient třída pro smazání zprávy. Můžete ji přesunout do koše (nepermanentně) nebo ji okamžitě a trvale smazat vynecháním druhého parametru nebo předáním hodnoty False.
Níže uvedený ukázkový kód ukazuje, jak přesunout první tři zprávy ze seznamu (např. e‑mailů) do koše:
# 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.")
Spravovat Gmail filtry
Aspose.Email pro Python poskytuje následující metody IGmailClient třída pro automatizaci nastavení filtru, který organizuje příchozí e‑maily podle předmětu, a spravuje existující filtry v Google e‑mailovém účtu:
list_filters()- Načte všechny filtry použité v mailboxu.create_filter(filter)- Přidá nový filtr s vlastními kritérii a akcemi.get_filter(id)- Načte podrobnosti konkrétního filtru.delete_filter(id)- Trvale odstraňuje filtry.
Vytvořit a vypsat Gmail filtry
Následující ukázkový kód ukazuje, jak vytvořit a spravovat e‑mailový filtr pomocí knihovny Aspose.Email specificky pro Google klienta:
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}")
Smazat Gmail filtry
Následující ukázkový kód ukazuje, jak odstranit všechny filtry z Gmail účtu:
filters = client.list_filters()
# Delete each filter
for f in filters:
client.delete_filter(f.id)
print(f"Filter ID: {f.id} deleted.")