Outlook कैलेंडर आइटम्स के साथ काम करना

MapiCalendar के साथ काम करना

Aspose.Email की MapiCalendar क्लास कैलेंडर आइटम की विभिन्न प्रॉपर्टीज़ सेट करने के लिए मेथड्स और एट्रीब्यूट्स प्रदान करती है।

कैलेंडर आइटम बनाना और सहेजना

निम्नलिखित कोड स्निपेट दिखाता है कि कैलेंडर आइटम को ICS फॉर्मेट में कैसे बनाएं और सहेजें।

import aspose.email as ae
from datetime import datetime

data_dir = "path/to/data/directory"

# Create the appointment
calendar = ae.mapi.MapiCalendar(
    "LAKE ARGYLE WA 6743",
    "Appointment",
    "This is a very important meeting :)",
    datetime(2012, 4, 1),
    datetime(2012, 5, 1))

calendar.save(data_dir + "CalendarItem_out.ics", ae.calendar.AppointmentSaveFormat.ICS)

कैलेंडर आइटम को MSG के रूप में सहेजना

निम्नलिखित कोड स्निपेट दिखाता है कि कैलेंडर आइटम को MSG के रूप में कैसे सहेजा जाए।

MAPICalendar कोICS में सहेजते समय प्रोडक्ट आईडी सेट करना

Aspose.Email लाइब्रेरी आपको MapiCalendar (एक कैलेंडर आइटम) को विशिष्ट विकल्पों के साथ एक ICS (iCalendar) फ़ाइल में सहेजनें की अनुमति देती है। ics_save_options.keep_original_date_time_stamp और ics_save_options.product_identifier प्रॉपर्टीज़ का उपयोग करके आप कैलेंडर आइटम से जुड़ी मूल तारीख और समय स्टैम्प को बनाए रख सकते हैं और ICS फ़ाइल में प्रोडक्ट आइडेंटिफ़ायर सेट कर सकते हैं, उदाहरण के लिए "Foo Ltd"। प्रोडक्ट आइडेंटिफ़ायर वह फ़ील्ड है जो यह बताता है कि ICS फ़ाइल किस सॉफ़्टवेयर या सेवा द्वारा जेनरेट की गई है।

यहां एक कोड उदाहरण दिया गया है जो MapiCalendar को ICS में सहेजते समय प्रोडक्ट ID सेट करने की अनुमति देता है:

import aspose.email as ae

ics_save_options = ae.mapi.MapiCalendarIcsSaveOptions()
ics_save_options.keep_original_date_time_stamp = True
ics_save_options.product_identifier = "Foo Ltd"

mapiCalendar.save("my.ics", ics_save_options)

कुल इवेंट्स की संख्या प्राप्त करना

का कार्यक्षमता CalendarReader क्लास आपको निर्दिष्ट फ़ाइल से कैलेंडर डेटा पढ़ने की अनुमति देती है। CalendarReader ऑब्जेक्ट बनाकर, हम महत्वपूर्ण जानकारी निकाल सकते हैं जैसे कुल इवेंट्स की संख्या, कैलेंडर संस्करण, उपयोग किया गया मेथड, और क्या कैलेंडर में कई इवेंट्स हैं। निम्नलिखित कोड स्निपेट दर्शाता है कि कैलेंडर डेटा के साथ कैसे काम किया जाए और अतिरिक्त रूप से कैलेंडर से अपॉइंटमेंट्स को कई इवेंट्स की सूची के रूप में लोड किया जाए।

import aspose.email as ae

reader = ae.calendar.CalendarReader(fileName)
print(f"Calendar contains {reader.count} events")
print(f"The Version of the calendar is {reader.version}")
print(f"The Method of the calendar is {reader.method}")
print(f"Is calendar contains contains multiple events? - {reader.is_multi_events}")
appointments = reader.load_as_multiple()

कैलेंडर में डिस्प्ले रिमाइंडर जोड़ना

निम्नलिखित कोड स्निपेट दिखाता है कि कैलेंडर में डिस्प्ले रिमाइंडर कैसे जोड़ें।

कैलेंडर में ऑडियो रिमाइंडर जोड़ना

निम्नलिखित कोड स्निपेट आपको दिखाता है कि कैलेंडर में ऑडियो रिमाइंडर कैसे जोड़ा जाए।

कैलेंडर फ़ाइलों से अटैचमेंट्स जोड़ना/प्राप्त करना

Aspose.Email कैलेंडर ("ae.calendar") मॉड्यूल अटैचमेंट जानकारी जोड़ने और प्राप्त करने की कार्यक्षमता भी प्रदान करता है।

  • एक अपॉइंटमेंट के साथ अटैचमेंट शामिल करने के लिए, "Attachment" ऑब्जेक्ट बनाया जाता है, फ़ाइल पाथ प्रदान किया जाता है। यह अटैचमेंट फिर अपॉइंटमेंट की अटैचमेंट सूची में जोड़ा जाता है। अपॉइंटमेंट को iCalendar फ़ॉर्मेट में एक विशिष्ट फ़ाइल पाथ पर सहेजा जाता है, उपयोग करके save विधि और उपयुक्त फ़ाइल फ़ॉर्मेट।

  • एक अपॉइंटमेंट से अटैचमेंट्स प्राप्त करने के लिए, इसे पहले सहेजी गई फ़ाइल से लोड किया जाता है, उपयोग करके लोड मेथड, "appointment2" में मौजूद अटैचमेंट्स की संख्या प्रदर्शित करता है, और अटैचमेंट्स पर इटरेट करके उनके नाम प्रिंट करता है।

नीचे दिया गया कोड स्निपेट दिखाता है कि अटैचमेंट्स के साथ अपॉइंटमेंट कैसे बनाएं, उन्हें सहेजें, और "ae.calendar" मॉड्यूल का उपयोग करके अटैचमेंट जानकारी प्राप्त करें। यह कैलेंडर एप्लीकेशन में अपॉइंटमेंट्स और अटैचमेंट्स के साथ काम करने की कार्यक्षमता और क्षमताओं को उजागर करता है।

import aspose.email as ae
import datetime as dt

# Add an attachment to an appointment
attendees = ae.MailAddressCollection()
attendees.append(ae.MailAddress("attendee@domain.com", "Recipient 1"))

appointment = ae.calendar.Appointment("Room 112", dt.datetime(2023, 5, 27), dt.date(2023, 5, 28),  ae.MailAddress("organizer@domain.com"), attendees)

attachment = ae.Attachment("D:\\Aspose\\Files\\Attachment.txt")
appointment.attachments.append(attachment)

appointment.save("D:\\Aspose\\Files\\appWithAttachments_out.ics", ae.calendar.AppointmentSaveFormat.ICS)

# Retrieve attachments from an appointment 
appointment2 = ae.calendar.Appointment.load("D:\\Aspose\\Files\\appWithAttachments_out.ics")
print(appointment2.attachments.length)
for att in appointment2.attachments:
    print(att.name)

मीटिंग अनुरोध से प्राप्तकर्ताओं की स्थिति

निम्नलिखित कोड स्निपेट दिखाता है कि मीटिंग अनुरोध से प्राप्तकर्ताओं की स्थिति कैसे प्राप्त की जाए।

EML अपॉइंटमेंट को MSG में बदलना और बॉडी को HTML फ़ॉर्मेट में बरकरार रखना

Aspose.Email EML अपॉइंटमेंट को MSG में बदलने और HTML बॉडी को बरकरार रखने को संभव बनाता है। "forced_rtf_body_for_appointment" प्रॉपर्टी का MapiConversionOptions क्लास अपॉइंटमेंट बॉडी के प्रकार को बदलने के लिए उपयोग की जाती है। जब इसे True पर सेट किया जाता है, तो बॉडी डिफ़ॉल्ट रूप से RTF फ़ॉर्मेट में कनवर्ट हो जाती है। बॉडी को HTML फ़ॉर्मेट में बरकरार रखने के लिए इसे False पर सेट किया जाना चाहिए। नीचे दिया गया कोड उदाहरण दिखाता है कि EML से MSG में रूपांतरण के समय अपॉइंटमेंट की HTML बॉडी कैसे संरक्षित रखी जाए:

import aspose.email as ae

eml = ae.MailMessage.load("appointment.eml")

conversionOptions = ae.mapi.MapiConversionOptions()
conversionOptions.format = ae.mapi.OutlookMessageFormat.UNICODE
# default value for ForcedRtfBodyForAppointment is true
conversionOptions.forced_rtf_body_for_appointment = False

msg = ae.mapi.MapiMessage.from_mail_message(eml, conversionOptions)

print(f"Body Type: {msg.body_type}")

msg.save("appointment.msg")