Travailler avec les éléments du calendrier Outlook
Travailler avec MapiCalendar
La classe MapiCalendar d’Aspose.Email fournit des méthodes et des attributs pour définir diverses propriétés d’un élément de calendrier.
Création et enregistrement d’éléments de calendrier
L’extrait de code suivant montre comment créer et enregistrer un élément de calendrier au format 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)
Enregistrement de l’élément de calendrier au format MSG
L’extrait de code suivant montre comment enregistrer l’élément de calendrier au format MSG.
Définir un ID produit lors de l’enregistrement d’un MapiCalendar au format ICS
La bibliothèque Aspose.Email vous permet d’enregistrer un MapiCalendar (un élément de calendrier) dans un fichier ICS (iCalendar) avec des options spécifiques. Avec les propriétés ics_save_options.keep_original_date_time_stamp et ics_save_options.product_identifier, vous pouvez conserver les horodatages d’origine associés à l’élément de calendrier et définir l’identifiant du produit dans le fichier ICS, par exemple à "Foo Ltd". L’identifiant du produit est un champ qui identifie le logiciel ou le service qui a généré le fichier ICS.
Voici un exemple de code qui vous permet de définir un ID produit lors de l’enregistrement de MapiCalendar au format 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)
Obtention du nombre total d’événements
La fonctionnalité du CalendarReader classe vous permet de lire les données d’un calendrier à partir d’un fichier spécifié. En créant un objet CalendarReader, nous pouvons extraire des informations importantes telles que le nombre total d’événements, la version du calendrier, la méthode utilisée et si le calendrier contient plusieurs événements. Le code suivant démontre comment travailler avec les données du calendrier et, en plus, charger les rendez‑vous du calendrier sous forme de liste d’événements multiples.
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()
Ajout d’un rappel d’affichage à un calendrier
L’extrait de code suivant montre comment ajouter un rappel d’affichage à un calendrier.
Ajout d’un rappel audio à un calendrier
L’extrait de code suivant vous montre comment ajouter un rappel audio à un calendrier.
Ajouter / récupérer des pièces jointes depuis des fichiers de calendrier
Le module Aspose.Email Calendar ("ae.calendar") fournit également la fonctionnalité d’ajouter et de récupérer des informations de pièces jointes.
-
Pour ajouter une pièce jointe au rendez‑vous, un objet "Attachment" est créé en indiquant le chemin du fichier. Cette pièce jointe est ensuite ajoutée à la liste des pièces jointes du rendez‑vous. Le rendez‑vous est enregistré à un chemin de fichier spécifique au format iCalendar à l’aide du enregistrer méthode et le format de fichier approprié.
-
Pour récupérer les pièces jointes d’un rendez‑vous, il est d’abord chargé depuis le fichier enregistré à l’aide du charger méthode, le nombre de pièces jointes présentes dans "appointment2" est affiché, et en parcourant les pièces jointes leurs noms sont imprimés.
L’extrait de code ci‑dessus montre comment créer des rendez‑vous avec pièces jointes, les enregistrer et récupérer les informations des pièces jointes à l’aide du module "ae.calendar". Il met en avant la fonctionnalité et les capacités de travail avec les rendez‑vous et les pièces jointes dans une application de calendrier.
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)
Statut des destinataires d’une demande de réunion
Le code suivant montre comment obtenir le statut des destinataires d’une demande de réunion.
Conversion d’un rendez‑vous EML en MSG en conservant le corps au format HTML
Aspose.Email permet de convertir un rendez‑vous EML en MSG et de préserver le corps HTML. La propriété "forced_rtf_body_for_appointment" du MapiConversionOptions la classe est utilisée pour manipuler le type du corps du rendez‑vous. Lorsqu’elle est définie sur True, le corps est converti par défaut au format RTF. Pour conserver le corps en format HTML, il faut la définir sur False. L’exemple de code suivant montre comment préserver le corps HTML du rendez‑vous lors de la conversion d’EML en 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")