Python में IGmailClient के साथ Gmail संदेशों का प्रबंधन
Aspose.Email for Python via .NET Gmail खातों के साथ काम करने के लिए विस्तृत क्षमताएँ प्रदान करता है, माध्यम से IGmailClient क्लास। इसमें संदेशों की सूची बनाना, भेजना, जोड़ना, प्राप्त करना और हटाना, साथ ही Gmail फ़िल्टर का प्रबंधन शामिल है।
उपयोग करने से पहले IGmailClient, अपने क्लाइंट ID, क्लाइंट सीक्रेट, रिफ्रेश टोकन, और ईमेल पता का उपयोग करके प्रमाणीकरण करें। फिर एक 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
Python के लिए Aspose.Email निम्नलिखित मेथड्स प्रदान करता है: 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.")