Práce s položkami kalendáře v Outlooku
Práce s MapiCalendar
Třída MapiCalendar v Aspose.Email poskytuje metody a atributy k nastavení různých vlastností položky kalendáře.
Vytváření a ukládání položek kalendáře
Následující úryvek kódu ukazuje, jak vytvořit a uložit položku kalendáře ve formátu 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)
Uložení položky kalendáře jako MSG
Následující úryvek kódu ukazuje, jak uložit položku kalendáře jako MSG.
Nastavení ID produktu při ukládání MapiCalendar do ICS
Knihovna Aspose.Email umožňuje uložit MapiCalendar (položku kalendáře) do souboru ICS (iCalendar) s konkrétními možnostmi. Pomocí vlastností ics_save_options.keep_original_date_time_stamp a ics_save_options.product_identifier můžete zachovat původní časová razítka spojená s položkou kalendáře a nastavit identifikátor produktu v souboru ICS, například na "Foo Ltd". Identifikátor produktu je pole, které identifikuje software nebo službu, která soubor ICS vytvořila.
Zde je ukázka kódu, která vám umožní nastavit ID produktu při ukládání MapiCalendar do formátu ICS:
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)
Získání celkového počtu událostí
Funkčnost třídy CalendarReader třída umožňuje číst data kalendáře ze specifikovaného souboru. Vytvořením objektu CalendarReader můžeme získat důležité informace, jako je celkový počet událostí, verze kalendáře, použitá metoda a zda kalendář obsahuje více událostí. Následující úryvek kódu demonstruje práci s daty kalendáře a také načtení schůzek z kalendáře jako seznamu více událostí.
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()
Přidání zobrazení připomenutí do kalendáře
Následující úryvek kódu ukazuje, jak přidat vizuální připomínku do kalendáře.
Přidání audio připomenutí do kalendáře
Následující úryvek kódu vám ukáže, jak přidat zvukovou připomínku do kalendáře.
Přidání/načtení příloh z kalendářových souborů
Modul Aspose.Email Calendar ("ae.calendar") také poskytuje funkci přidávat a získávat informace o přílohách.
-
Pro zahrnutí přílohy do schůzky je vytvořen objekt "Attachment" s cestou k souboru. Tato příloha je následně přidána do seznamu příloh schůzky. Schůzka je uložena na konkrétní cestu ve formátu iCalendar pomocí uložit metodu a vhodný formát souboru.
-
Pro získání příloh ze schůzky je nejprve načtena ze souboru pomocí načíst metodou se zobrazí počet příloh v "appointment2" a iterací přes přílohy se vypíšou jejich názvy.
Níže uvedený úryvek kódu demonstruje, jak vytvořit schůzky s přílohami, uložit je a získat informace o příloze pomocí modulu "ae.calendar". Zvýrazňuje funkčnost a možnosti práce se schůzkami a přílohami v kalendářové aplikaci.
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)
Stav příjemců z požadavku na schůzku
Následující úryvek kódu ukazuje, jak zjistit stav příjemců z požadavku na schůzku.
Převod schůzky EML na MSG se zachováním těla v HTML formátu
Aspose.Email umožňuje převést schůzku ve formátu EML na MSG a zachovat HTML tělo. Vlastnost "forced_rtf_body_for_appointment" třídy MapiConversionOptions třída se používá k manipulaci s typem těla schůzky. Když je nastavena na True, tělo je ve výchozím nastavení převedeno do formátu RTF. Pro zachování těla v HTML formátu by měla být nastavena na False. Následující ukázkový kód ukazuje, jak zachovat HTML tělo schůzky při převodu z EML na MSG:
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")