ईमेल बनाना और प्रबंधित करना
नया ईमेल संदेश बनाना
यह MailMessage क्लास एक ईमेल संदेश का प्रतिनिधित्व करती है और डेवलपर्स को नया ईमेल संदेश बनाने की अनुमति देती है। From, To, Subject और बॉडी जैसी बुनियादी ईमेल गुणों को आसानी से नए बनाए गए मेल संदेश में जोड़ा जा सकता है। इसी प्रकार हम मेल संदेश को विभिन्न स्वरूपों जैसे EML, MSG और MHTML में सहेज सकते हैं।
- का एक इंस्टेंस बनाएं MailMessage क्लास।
- मेल संदेश के गुण सेट करें।
- मेल संदेश को विभिन्न स्वरूपों में सहेजें।
निम्न कोड स्निपेट दर्शाता है कि विभिन्न गुणों के साथ नया ईमेल कैसे बनाया जाए।
एकाधिक प्राप्तकर्ताओं को निर्दिष्ट करना
यह MailMessage ऑब्जेक्ट एक ईमेल संदेश को दर्शाता है। … की इंस्टेंसें MailMessage क्लास का उपयोग उन ईमेल संदेशों को बनाने के लिए किया जाता है जो … का उपयोग करके SMTP सर्वर को भेजे जाते हैं। SmtpClient क्लास। यह लेख दर्शाता है कि एक से अधिक ईमेल पता कैसे निर्दिष्ट किया जाए। ईमेल पते … का उपयोग करके निर्दिष्ट किए जा सकते हैं। MailMessage क्लास। वे हैं:
- To - प्राप्तकर्ता पते ‘To’ फ़ील्ड में निर्दिष्ट किए जा सकते हैं। ‘To’ फ़ील्ड के प्राप्तकर्ता मुख्य संदेश दर्शक होते हैं। एक से अधिक प्राप्तकर्ता पते हो सकते हैं।
- Cc - CC का मतलब "कार्बन कॉपी" या "कोर्टसी कॉपी" है, और यह आपको ऐसे ईमेल प्राप्तकर्ताओं को जोड़ने की अनुमति देता है जिन्हें ईमेल देखना आवश्यक है लेकिन वे आवश्यक नहीं कि उस पर कार्रवाई करें। उदाहरण के लिए प्रबंधक या आपकी टीम के सदस्य जिन्हें वार्तालाप से अवगत रहना चाहिए। Aspose.Email के साथ, कोड में CC पते निर्दिष्ट किए जा सकते हैं। इस प्रकार, स्वचालित ईमेल या किसी विशेष पते पर सभी ईमेल संबंधित कर्मियों को कॉपी किए जा सकते हैं।
- Bcc - Bcc, ब्लाइंड कार्बन कॉपी, आपको एक ऐसा प्राप्तकर्ता को ईमेल भेजने देता है जो अन्य प्राप्तकर्ताओं से छिपा होता है। जहाँ CC में मुख्य प्राप्तकर्ताओं को जानकारी दिखती है, वहीं Bcc नहीं दिखता। यह छिपी हुई सूचना के लिए उपयोग होता है।
ईमेल संदेश में कई ईमेल पते निर्दिष्ट करने के लिए, निम्न चरणों का पालन करें:
- का एक इंस्टेंस बनाएं MailMessage क्लास।
- From और कई To, Cc और Bcc पते … का उपयोग करके निर्दिष्ट करें
MailMessageइंस्टैंस। - का एक इंस्टेंस बनाएं SmtpClient क्लास और Send मेथड का उपयोग करके ईमेल भेजें।
निम्नलिखित कोड उदाहरण दिखाता है कि कई To, CC और BCC पते कैसे निर्दिष्ट किए जा सकते हैं।
भेजने वाले और प्राप्तकर्ता के डिस्प्ले नाम सेट करना
निम्नलिखित प्रोग्रामिंग नमूने दिखाते हैं कि कैसे ईमेल संदेश में ईमेल पतों को फ्रेंडली नामों में बदला जा सकता है। एक फ्रेंडली नाम वह नाम होता है जो ईमेल पते से अधिक मानवीय हो, उदाहरण के लिए js346@domain.com की जगह John Smith। जब ईमेल भेजते हैं, तो हम एक फ्रेंडली नाम को ईमेल पते के साथ … में जोड़ सकते हैं। MailMessage क्लास कंस्ट्रक्टर।
ईमेल संदेश में ईमेल पतों को फ्रेंडली नामों में बदलने के लिए, नीचे दिए चरणों का पालन करें:
- का एक इंस्टेंस बनाएं MailMessage क्लास और To तथा From फ़ील्ड में फ़्रेंडली नामों सहित ईमेल पते निर्दिष्ट करें।
- फ़्रेंडली नामों के साथ Cc और Bcc ईमेल पते निर्दिष्ट करने के लिए … को कॉल करें MailMessage … में क्लास कंस्ट्रक्टर
MailMessageइंस्टैंस। - का एक इंस्टेंस बनाएं SmtpClient क्लास और इसका उपयोग करके ईमेल भेजें भेजें विधि।
निम्नलिखित कोड स्निपेट दिखाता है कि ईमेल पतों के लिए नाम कैसे दिखाए जाएँ।
ईमेल के विषय को सेट करना
यह MailMessage क्लास आपको संदेश सामग्री का संक्षिप्त सारांश … का उपयोग करके निर्दिष्ट करने की अनुमति देती है। विषय प्रॉपर्टी। निम्न कोड उदाहरण दिखाता है कि ईमेल कैसे बनाया जाए और उसका विषय कैसे सेट किया जाए:
from aspose.email import MailMessage
# Create a new email message
message = MailMessage()
# Set the subject of the email
message.subject = "Meeting Reminder: Project Update"
# Set other email properties (optional)
message.from_address = "sender@example.com"
message.to.append("recipient@example.com")
message.body = "This is a reminder for the upcoming project update meeting."
# Print the email details
print(f"Subject: {message.subject}")
print(f"From: {message.from_address}")
print(f"To: {', '.join(message.to)}")
print(f"Body: {message.body}")
ईमेल बॉडी सेट करना
संदेश के विषय के साथ-साथ, ईमेल बॉडी को भी उसी का उपयोग करके निर्दिष्ट किया जा सकता है MailMessage क्लास। एक ईमेल में कई बॉडी हो सकते हैं। क्लास में दो प्रकार के मेल बॉडी होते हैं:
- HTML बॉडी
- टेक्स्ट बॉडी
के अतिरिक्त HtmlBody और TextBody, Aspose.Email में मेल बॉडी से संबंधित दो और रीड-ओनली प्रॉपर्टी हैं:
IsBodyText: उपयोगकर्ता को बताता है कि बॉडी टेक्स्ट है या नहीं।IsBodyHtml: यह उपयोगकर्ता को बताता है कि बॉडी HTML है या साधारण टेक्स्ट।
यह लेख दिखाता है कि प्लेन टेक्स्ट या HTML बॉडी टेक्स्ट कैसे परिभाषित करें, वैकल्पिक टेक्स्ट सेट करें और ईमेल बॉडी को एन्कोड करें।
HTML बॉडी सेट करना
Html बॉडी का उपयोग संदेश बॉडी की HTML सामग्री निर्दिष्ट करने के लिए किया जाता है। Html बॉडी को टैग के बीच बंद होना चाहिए। निम्न कोड स्निपेट दिखाता है कि HTML बॉडी कैसे सेट की जाए।
वैकल्पिक टेक्स्ट सेट करना
उपयोग करें AlternateView क्लास विभिन्न स्वरूपों में ईमेल संदेश की प्रतियां निर्दिष्ट करने के लिए उपयोग की जाती है। उदाहरण के लिए, यदि आप HTML में संदेश भेजते हैं, तो आप एक प्लेन टेक्स्ट संस्करण भी प्रदान कर सकते हैं ताकि उन प्राप्तकर्ताओं के लिए जो HTML सामग्री नहीं दिखा सकते, उपयोगी हो। इस क्लास में दो प्रॉपर्टी हैं, linked_resources और base_uri, जो ईमेल की सामग्री में URLs को हल करने के लिए उपयोग होते हैं।
- LinkedResources LinkedResources ऑब्जेक्ट्स का एक संग्रह है। रेंडर होने पर, ईमेल की सामग्री में URLs को पहले प्रत्येक LinkedResources ऑब्जेक्ट के Content Link में URLs से मिलाया जाता है और हल किया जाता है।
- BaseUri का उपयोग मेल रीडर द्वारा बॉडी के भीतर सापेक्ष URLs को हल करने के लिए किया जाता है, और साथ ही LinkedResources संग्रह में सापेक्ष Content Link URLs को भी हल करने के लिए।
निम्नलिखित कोड स्निपेट दिखाता है कि वैकल्पिक टेक्स्ट कैसे सेट किया जाए।
MailMessage फीचर
यह MailMessage class एक ईमेल संदेश की सामग्री को दर्शाती है। इसका उदाहरण MailMessage class का उपयोग एक ईमेल संदेश बनाने के लिए किया जाता है जिसे डिलीवरी के लिए SMTP सर्वर को भेजा जाता है, उपयोग करते हुए SmtpClient class। यह लेख दिखाता है कि कैसे उपयोग किया जाए MailMessage class उपयोगिता सुविधाएँ निम्नलिखित ईमेल सुविधाओं को नियंत्रित करने के लिए:
- तारीख और समय - द्वारा MailMessage class Date प्रॉपर्टी हमें ईमेल की तिथि और समय प्राप्त करने या सेट करने की अनुमति देती है।
- संदेश प्राथमिकता - MailPriority क्लास ईमेल संदेश भेजते समय प्राथमिकता स्तर निर्दिष्ट करती है। यह कम, सामान्य या उच्च हो सकता है। प्राथमिकता ट्रांसमिशन गति और वितरण को प्रभावित करती है।
- संदेश संवेदनशीलता - MailSensitivity क्लास पाँच स्तर की संवेदनशीलता निर्दिष्ट करती है।
- डिलीवरी नोटिफिकेशन - डिलीवरी नोटिफिकेशन प्रेषकों को बताता है कि उनका भेजा गया ईमेल प्राप्तकर्ता के इनबॉक्स में डिलीवर हो गया है।
डिफ़ॉल्ट रूप से, तिथि वास्तविक वह तिथि होती है जिस दिन संदेश भेजा गया था, और समय वह समय होता है जिस समय इसे भेजा गया, जैसा कि Microsoft Outlook द्वारा प्रदर्शित किया जाता है। हालांकि, वास्तविक ईमेल डिलीवरी समय SMTP सर्वर द्वारा स्वयं मेल हेडर में जोड़ा जाता है। उदाहरण के लिए, नीचे एक सामान्य मेल हेडर है, जहाँ Date फ़ील्ड Date सेट करता है।
import aspose.email as ae
from aspose.email import MailMessage
# Create a new MailMessage instance
message = MailMessage()
# Add SMTP headers to the message
message.headers.add("Received", "from ip-123.56.99.216.dsl-cust.ca.inter.net ([216.99.56.123]) by Aspose.secureserver.net with MailEnable ESMTP; Thu, 22 Feb 2007 13:58:57 -0700")
message.headers.add("Return-Path", "<xyz@oikoscucine.it>")
message.headers.add("Received", "from 195.120.225.20 (HELO mail.oikoscucine.it) by aspose.com with esmtp (:1CYY+<LA*- *1WK@) id Q8,/O/-.N83@7-9M for abc@aspose.com; Thu, 22 Feb 2007 20:58:51 +0300")
# Set email details
message.from_address = "XYZ <xyz@oikoscucine.it>"
message.to.append("abc@aspose.com")
message.subject = "For ABC"
message.date = "Thu, 22 Feb 2007 20:58:51 +0300"
message.message_id = "<01c756c4$41b554d0$6c822ecf@dishonestyinsufferably>"
message.headers.add("MIME-Version", "1.0")
message.headers.add("Content-Type", "multipart/alternative; boundary=\"----=_NextPart_000_0006_01C7569A.58DF4CD0\"")
message.headers.add("X-Mailer", "Microsoft Office Outlook, Build 11.0.5510")
message.headers.add("X-MimeOLE", "Produced By Microsoft MimeOLE V6.00.2800.1106")
message.headers.add("Thread-Index", "Aca6Q:=ES0M(9-=(<.<1.<Q9@QE6CD==")
message.headers.add("X-Read", "1")
# Save the message as an EML file
message.save("output.eml", ae.EmlSaveOptions())
निम्नलिखित कोड स्निपेट दर्शाते हैं कि ऊपर चर्चा किए गए प्रत्येक फीचर को कैसे उपयोग किया जा सकता है।
import aspose.email as ae
from aspose.email import MailMessage, MailPriority, MailSensitivity
from datetime import datetime
# Create a new MailMessage instance
message = MailMessage("sender@gmail.com", "receiver@gmail.com", "Some subject", "Some body text")
# Set additional properties
message.date = datetime.now()
message.priority = MailPriority.HIGH
message.sensitivity = MailSensitivity.NORMAL
message.headers.add("X-Mailer", "Aspose.Email")
# Save the message as an EML file
message.save("output.eml", ae.EmlSaveOptions())
रीड रिसिप्ट का अनुरोध करना
नीचे दिए गए प्रोग्रामिंग नमूने दिखाते हैं कि आप रीड रसीद का अनुरोध कैसे कर सकते हैं। यह MailMessage क्लास DeliveryNotificationOptions Enumeration प्रॉपर्टी ईमेल के डिलीवरी नोटिफिकेशन विकल्पों का वर्णन करती है। ईमेल भेजने के बाद रीड रसीद का अनुरोध करने के लिए, निम्नलिखित चरणों का पालन करें:
- का एक इंस्टेंस बनाएं MailMessage क्लास।
- ईमेल के लिये प्रेषक, प्राप्तकर्ता और HTML बॉडी को … में निर्दिष्ट करें MailMessage इंस्टैंस।
- निर्दिष्ट करें DeliveryNotificationOptions अन्य में MailMessage इंस्टेंस।
- का एक इंस्टेंस बनाएं SmtpClient क्लास और Send मेथड का उपयोग करके ईमेल भेजें।
रीड रसीद के अनुरोध हमेशा मान्य नहीं होते क्योंकि:
- एक मेल क्लाइंट वह कार्यक्षमता लागू नहीं कर सकता।
- अंतिम उपयोगकर्ता के पास वह कार्यक्षमता बंद हो सकती है।
- अंतिम उपयोगकर्ता इसे भेजना न चुन सकता है।
निम्नलिखित कोड स्निपेट दिखाता है कि रीड रसीद के लिए कैसे अनुरोध किया जाए।
import aspose.email as ae
from aspose.email import MailMessage, SmtpClient, DeliveryNotificationOptions
# Create an instance of MailMessage class
message = MailMessage()
# Specify From, To, HtmlBody, and DeliveryNotificationOptions
message.from_address = "sender@sender.com"
message.to.append("receiver@receiver.com")
message.html_body = "<html><body>This is the Html body</body></html>"
message.delivery_notification_options = DeliveryNotificationOptions.ON_SUCCESS
message.headers.add("Return-Receipt-To", "sender@sender.com")
message.headers.add("Disposition-Notification-To", "sender@sender.com")
# Create an instance of SmtpClient class
client = SmtpClient()
# Specify your mailing host server, Username, Password, and Port
client.host = "smtp.server.com"
client.username = "Username"
client.password = "Password"
client.port = 25
try:
# Client.send will send this message
client.send(message)
# Display 'Message sent' only if the message is sent successfully
print("Message sent")
except Exception as ex:
import traceback
traceback.print_exc()
ईमेल हेडर सेट करें
ईमेल हेडर इंटरनेट मानक का प्रतिनिधित्व करते हैं और RFC हेडर फ़ाइल को परिभाषित करता है जो इंटरनेट ईमेल संदेशों में शामिल होते हैं। एक ईमेल हेडर को MailMessage क्लास का उपयोग करके निर्दिष्ट किया जा सकता है। सामान्य हेडर प्रकार HeaderType क्लास में परिभाषित हैं। यह एक सील्ड क्लास है जो सामान्य एनीमरशन की तरह कार्य करती है।
आमतौर पर एक ईमेल हेडर में ये फ़ील्ड्स होते हैं:
- To: प्राप्तकर्ता पते To फ़ील्ड में निर्दिष्ट किए जा सकते हैं। ये प्राप्तकर्ता संदेश का मुख्य दर्शक होते हैं। एक से अधिक प्राप्तकर्ता पते हो सकते हैं।
- From: यह फ़ील्ड संदेश प्रेषक का ईमेल पता दर्शाता है।
- Cc: उपयोगकर्ताओं को संदेश को "Carbon Copy" या "Courtesy Copy" के रूप में भेजने की अनुमति देता है। अर्थात्, प्राप्तकर्ता से उत्तर या कार्रवाई की अपेक्षा नहीं होती। आमतौर पर, पर्यवेक्षी कर्मचारियों को CC द्वारा सूचित किया जाता है।
- Bcc: इसका मतलब Blind Carbon Copy है, यह कई प्राप्तकर्ताओं को संदेश भेजने की प्रथा है जिससे प्राप्तकर्ताओं को पूरे प्राप्तकर्ता सूची नहीं दिखती। यह छुपी सूचना के लिए है।
- ReplyTo: यह हेडर फ़ील्ड यह संकेत देता है कि प्रेषक चाहते हैं कि उत्तर कहाँ भेजें।
- Subject: शीर्षक, हेडिंग, विषय। अक्सर उन संदेशों के लिए थ्रेड संकेतक के रूप में उपयोग होता है जो अन्य संदेशों का जवाब या टिप्पणी होते हैं।
- Date: यह हेडर तिथि (और समय) निर्दिष्ट करता है। सामान्यतः यह वह तिथि होती है जब संदेश लिखा और भेजा गया था।
- XMailer: प्रेषक के क्लाइंट सॉफ़्टवेयर की जानकारी। उदाहरण: X-Mailer: Aspose.Email। XMailer का उपयोग मेल क्लाइंट द्वारा किया जाता है। विभिन्न मेल क्लाइंट्स के XMailer मान अलग होते हैं। MS Outlook का XMailer मान है Microsoft Office Outlook, Build 11.0.5510। इसे ईमेल प्राप्तकर्ता या रीडर द्वारा नजरअंदाज किया जाता है।
आमतौर पर, एक ईमेल हेडर इस प्रकार दिखता है:
Reply-To: reply@reply.com
From: sender@sender.com
To: guangzhou@guangzhoo.com
Subject: test mail
Date: 6 Mar 2006 8:2:2 +0800
X-Mailer: Aspose.Email
ईमेल हेडर को कस्टमाइज़ करने के लिए, इन चरणों का पालन करें:
- का एक इंस्टेंस बनाएं MailMessage क्लास।
- … की इंस्टेंस का उपयोग करके To, From, CC, Bcc, ReplyTo, Subject, Date और XMailer निर्दिष्ट करें MailMessage.
- का एक इंस्टेंस बनाएं MimeHeader क्लास और सिक्य़रेट हेडर निर्दिष्ट करें।
- सीक्रेट हेडर को … में जोड़ें MailMessage इंस्टैंस।
निम्न कोड स्निपेट दिखाता है कि ईमेल हेडर कैसे सेट करें।
import aspose.email as ae
from aspose.email import MailMessage
from datetime import datetime
# Create an instance of MailMessage class
message = MailMessage()
# Specify email details
message.reply_to_list.append("reply@reply.com")
message.from_address = "sender@sender.com"
message.to.append("receiver1@receiver.com")
message.cc.append("receiver2@receiver.com")
message.bcc.append("receiver3@receiver.com")
message.subject = "test mail"
message.date = datetime(2006, 3, 6)
message.headers.add("X-Mailer", "Aspose.Email")
ऊपर दिया गया कोड स्निपेट निम्न प्रारूप में ईमेल हेडर बनाता है। इसे Microsoft Outlook में परिणामस्वरूप फ़ाइल "MsgHeaders.msg" खोलकर और फिर प्रॉपर्टीज़ देख कर देखा जा सकता है।
Reply-To: reply@reply.com
From: sender@sender.com
To: receiver1@receiver.com
CC: receiver2@receiver.com
BCC: receiver3@receiver.com
Subject: test mail
Date: 6 Mar 2006 8:2:2 +0800
X-Mailer: Aspose.Email
secret-header: mystery
विशिष्ट स्थान पर हेडर डालें
यह Add की विधि HeadersCollection क्लास हेडर को संग्रह के अंत में डालती है। हालांकि, कभी-कभी हेडर को विशिष्ट स्थान पर डालना आवश्यक हो सकता है। ऐसे में, … Add विधि मददगार नहीं होगी। इसे प्राप्त करने के लिए, … का उपयोग करें Insert विधि HeadersCollection. यदि संग्रह में समान नाम के हेडर हों, तो यह हेडर समान नाम के अन्य हेडरों से पहले डाला जाएगा।
निम्न कोड स्निपेट दिखाता है कि हेडर को विशिष्ट स्थान पर कैसे डाला जाए।
# Insert a header into the MailMessage instance
message.headers.insert("Received", "Value")
ईमेल में कस्टम हेडर जोड़ना
नीचे दिया गया प्रोग्रामिंग नमूना दिखाता है कि … का उपयोग करके ईमेल संदेश में कस्टम हेडर कैसे निर्दिष्ट किया जाए MailMessage क्लास।
# Add a header into the MailMessage instance
message.headers.add("secret-header", "mystery")
ऊपर दिया गया कोड स्निपेट निम्न प्रारूप में ईमेल हेडर बनाता है:
secret-header: mystery