ניהול הודעות Gmail עם IGmailClient בפייתון
Aspose.Email עבור Python דרך .NET מספקת יכולות מורחבות לעבודה עם חשבונות Gmail באמצעות IGmailClient מחלקה. זה כולל הצגה, שליחה, חיבור, אחזור ומחיקת הודעות, וכן ניהול פילטרים ב‑Gmail.
לפני שימוש ב- IGmailClient, אמת באמצעות מזהה הלקוח, סוד הלקוח, טוקן רענון, וכתובת הדוא"ל שלך. לאחר מכן צור מופע לקוח 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.")
ניהול מסנני Gmail
Aspose.Email עבור Python מספק את השיטות הבאות של IGmailClient מחלקה לאוטומציה של תהליך קביעת מסנן לארגון הודעות נכנסות על בסיס שורת הנושא וניהול מסננים קיימים בחשבון אימייל של Google:
list_filters()- מאחזר את כל המסננים שהוחלו על תיבת הדואר.create_filter(filter)- מוסיף מסנן חדש עם קריטריונים מותאמים ופעולות.get_filter(id)- מקבל פרטי מסנן ספציפיים.delete_filter(id)- מסיר מסננים לצמיתות.
יצירת ורשימת מסנני Gmail
דוגמאות הקוד הבאות מציגות כיצד ליצור ולנהל מסנן אימייל באמצעות ספריית 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}")
מחיקת מסנני Gmail
דוגמאות הקוד הבאות מציגות כיצד להסיר את כל המסננים מחשבון Gmail:
filters = client.list_filters()
# Delete each filter
for f in filters:
client.delete_filter(f.id)
print(f"Filter ID: {f.id} deleted.")