Arbeta med Outlook-kalenderposter
Arbeta med MapiCalendar
Aspose.Email:s MapiCalendar‑klass tillhandahåller metoder och attribut för att sätta olika egenskaper på ett kalenderobjekt.
Skapa och spara kalenderobjekt
Följande kodsnutt visar hur du skapar och sparar ett kalenderobjekt i ICS-format.
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)
Spara kalenderobjekt som MSG
Följande kodsnutt visar hur du sparar kalenderobjektet som MSG.
Ställa in produkt‑ID när MapiCalendar sparas till ICS
Aspose.Email‑biblioteket låter dig spara ett MapiCalendar (ett kalenderobjekt) till en ICS‑ (iCalendar)‑fil med specifika alternativ. Med egenskaperna ics_save_options.keep_original_date_time_stamp och ics_save_options.product_identifier kan du behålla de ursprungliga datum‑ och tidsstämplarna som är kopplade till kalenderobjektet och sätta produktidentifieraren i ICS‑filen, till exempel till "Foo Ltd". Produktidentifieraren är ett fält som identifierar den programvara eller tjänst som genererade ICS‑filen.
Här är ett kodexempel som låter dig ange ett produkt‑ID när du sparar MapiCalendar till 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)
Hämtar totalt antal händelser
Funktionaliteten i CalendarReader klassen låter dig läsa kalenderdata från en specificerad fil. Genom att skapa ett CalendarReader‑objekt kan vi extrahera viktig information som totalt antal händelser, kalenderversion, metod som används, och om kalendern innehåller flera händelser. Följande kodsnutt demonstrerar hur man arbetar med kalenderdata och dessutom laddar mötena från kalendern som en lista med flera händelser.
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()
Lägger till visuell påminnelse i en kalender
Följande kodsnutt visar hur du lägger till en displaypåminnelse i en kalender.
Lägger till ljudpåminnelse i en kalender
Följande kodsnutt visar hur du lägger till ett ljudpåminnelse till en kalender.
Lägg till/hämta bilagor från kalenderfiler
Aspose.Email Calendar ("ae.calendar")-modulen erbjuder också funktionalitet för att lägga till och hämta information om bilagor.
-
För att inkludera en bilaga i mötet skapas ett "Attachment"‑objekt med filvägen. Denna bilaga läggs sedan till i mötets lista över bilagor. Mötet sparas till en specifik filväg i iCalendar‑format med hjälp av spara metod och lämpligt filformat.
-
För att hämta bilagor från ett möte, laddas det först från den sparade filen med hjälp av ladda metod, antalet bilagor som finns i "appointment2" visas, och genom att iterera över bilagorna skrivs deras namn ut.
Kodsnutten nedan demonstrerar hur man skapar möten med bilagor, sparar dem och hämtar information om bilagor med hjälp av "ae.calendar"-modulen. Den belyser funktionaliteten och möjligheterna att arbeta med möten och bilagor i en kalenderapplikation.
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)
Status för mottagare från en mötesförfrågan
Följande kodsnutt visar hur man hämtar status för mottagare från en mötesförfrågan.
Konvertera EML‑möte till MSG och bevara kroppen i HTML‑format
Aspose.Email gör det möjligt att konvertera ett EML‑möte till MSG och bevara HTML‑kroppen. "forced_rtf_body_for_appointment"‑egenskapen i MapiConversionOptions klassen används för att manipulera typen av möteskroppen. När den är satt till True konverteras kroppen som standard till RTF-format. För att behålla kroppen i HTML-format bör den sättas till False. Följande kodexempel visar hur man bevarar HTML‑kroppen i mötet när man konverterar från EML till 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")