Lavorare con gli elementi del calendario di Outlook
Lavorare con MapiCalendar
La classe MapiCalendar di Aspose.Email fornisce metodi e attributi per impostare varie proprietà di un elemento del calendario.
Creazione e salvataggio di elementi del calendario
Il seguente frammento di codice mostra come creare e salvare un elemento del calendario in formato 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)
Salvataggio dell’elemento calendario come MSG
Il seguente frammento di codice mostra come salvare l’elemento del calendario come MSG.
Impostare un ID prodotto durante il salvataggio di MapiCalendar in formato ICS
La libreria Aspose.Email consente di salvare un MapiCalendar (un elemento di calendario) in un file ICS (iCalendar) con opzioni specifiche. Con le proprietà ics_save_options.keep_original_date_time_stamp e ics_save_options.product_identifier è possibile mantenere i timestamp originali associati all’elemento del calendario e impostare l’identificatore del prodotto nel file ICS, ad esempio a "Foo Ltd". L’identificatore del prodotto è un campo che identifica il software o il servizio che ha generato il file ICS.
Ecco un esempio di codice che consente di impostare un ID prodotto durante il salvataggio di MapiCalendar in 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)
Ottenere il numero totale di eventi
La funzionalità di CalendarReader la classe consente di leggere i dati del calendario da un file specificato. Creando un oggetto CalendarReader, possiamo estrarre informazioni importanti come il numero totale di eventi, la versione del calendario, il metodo usato e se il calendario contiene più eventi. Il frammento di codice seguente dimostra come lavorare con i dati del calendario e, inoltre, caricare gli appuntamenti dal calendario come una lista di più eventi.
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()
Aggiunta di promemoria visuale a un calendario
Il seguente frammento di codice mostra come aggiungere un promemoria di visualizzazione a un calendario.
Aggiunta di promemoria audio a un calendario
Il seguente frammento di codice mostra come aggiungere un promemoria audio a un calendario.
Aggiungere/Ripristinare allegati da file di calendario
Il modulo Aspose.Email Calendar ("ae.calendar") fornisce anche la funzionalità di aggiungere e recuperare informazioni sugli allegati.
-
Per includere un allegato con l’appuntamento, viene creato un oggetto "Attachment", fornendo il percorso del file. Questo allegato viene poi aggiunto all’elenco degli allegati dell’appuntamento. L’appuntamento viene salvato in un percorso file specifico nel formato iCalendar usando il salva metodo e il formato file appropriato.
-
Per recuperare gli allegati da un appuntamento, questo viene prima caricato dal file salvato usando il carica metodo, il numero di allegati presenti in "appointment2" viene mostrato, e iterando sugli allegati ne vengono stampati i nomi.
Il frammeto di codice qui sotto dimostra come creare appuntamenti con allegati, salvarli e recuperare le informazioni sugli allegati utilizzando il modulo "ae.calendar". Evidenzia le funzionalità e le capacità di lavorare con appuntamenti e allegati in un’applicazione di calendario.
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)
Stato dei destinatari da una richiesta di riunione
Il frammento di codice seguente mostra lo stato dei destinatari da una richiesta di riunione.
Converti l’appuntamento EML in MSG preservando il corpo in formato HTML
Aspose.Email rende possibile convertire l’appuntamento EML in MSG e preservare il corpo HTML. La proprietà "forced_rtf_body_for_appointment" del MapiConversionOptions La classe è usata per manipolare il tipo del corpo dell’appuntamento. Quando impostata su True, il corpo viene convertito in formato RTF per impostazione predefinita. Per mantenere il corpo in formato HTML, dovrebbe essere impostata su False. Il seguente esempio di codice mostra come preservare il corpo HTML dell’appuntamento durante la conversione da EML a 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")