Управление на Gmail съобщения с IGmailClient в Python
Aspose.Email за Python чрез .NET предоставя разширени възможности за работа с Gmail акаунти чрез IGmailClient клас. Това включва изброяване, изпращане, добавяне, извличане и изтриване на съобщения, както и управление на Gmail филтри.
Преди да използвате IGmailClient, аутентицирайте се, като използвате вашия client ID, client secret, refresh token и имейл адрес. След това създайте инстанция на Gmail клиент:
from aspose.email.clients.google import GmailClient
client = GmailClient.get_instance(client_id, client_secret, refresh_token, email)
Изпращане на имейл с помощта на Gmail API
За да изпратите имейл с прикачен файл чрез Gmail акаунт, използвайте send_message метод на IGmailClient клас.
Следният примерен код демонстрира как да създадете и изпратите имейл с прикачен файл, използвайки 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}")
Добавяне на съобщение към Gmail папка
За да добавяте съобщения директно към Gmail пощенска кутия, заобикаляйки стандартната класификация, използвайте следните методи:
- append_message(msg) за поведение по подразбиране.
- append_message(msg, label_name) за да зададете персонализиран етикет.
Следният примерен код демонстрира как да създадете имейл съобщение и да го добавите към входящата поща на получателя със специфичен етикет, използвайки 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}")
Списък на Gmail съобщения
Можете да извлечете списък с всички съобщения в Gmail пощенска кутия, използвайки list_messages() метод на IGmailClient клас. Всеки елемент в върнатия списък е GmailMessageInfo обект, съдържащ леко метаданни като ‘id’ и ’thread_id’.
Следният примерен код демонстрира как да извлечете и покажете информация за всички Gmail съобщения в входящата поща на потребителя:
# 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}")
Извличане на съдържание на Gmail съобщение
След извличане на метаданните на съобщението, използвайте fetch_message(message_id) за да изтеглите пълното съдържание на конкретно съобщение като MailMessage обект. Това позволява достъп до тема, тяло, прикачени файлове и други детайли на съобщението.
Следният примерен код демонстрира как да извлечете и покажете съдържанието на първите три Gmail съобщения от входящата поща на потребителя:
# 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)
Изтриване на Gmail съобщения
Използвайте delete_message(message_id, move_to_trash) метод на IGmailClient клас за изтриване на съобщение. Можете или да го преместите в кошчето (незавременно) или да го изтриете незабавно и завинаги, като пропуснете втория параметър или зададете False.
Следният примерен код демонстрира как да преместите първите три съобщения от списък с съобщения (например имейли) в кошчето:
# 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.")
Manage Gmail Filters
Aspose.Email за Python предоставя следните методи на IGmailClient клас за автоматизиране на процеса по създаване на филтър за организиране на входящи имейли въз основа на темата им и управление на съществуващите филтри в Google имейл акаунт:
list_filters()- Извлича всички филтри, приложени към пощенската кутия.create_filter(filter)- Добавя нов филтър с персонализирани критерии и действия.get_filter(id)- Извлича детайли за конкретен филтър.delete_filter(id)- Премахва филтрите завинаги.
Create and List Gmail Filters
Следният примерен код демонстрира как да създадете и управлявате имейл филтър, използвайки библиотеката Aspose.Email специално за 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}")
Delete Gmail Filters
Следният примерен код показва как да премахнете всички филтри от Gmail акаунта:
filters = client.list_filters()
# Delete each filter
for f in filters:
client.delete_filter(f.id)
print(f"Filter ID: {f.id} deleted.")