Работа с календарни елементи в Outlook
Работа с MapiCalendar
Класът MapiCalendar на Aspose.Email предоставя методи и атрибути за задаване на различни свойства на календарен елемент.
Създаване и запазване на календарни елементи
Следният кодов фрагмент показва как да създадете и запазите календарен елемент във формат 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:
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 Calendar ("ae.calendar") също предоставя функционалност за добавяне и извличане на информация за прикачени файлове.
-
За да включите прикачен файл към срещата, се създава обект "Attachment", като се предоставя пътят на файла. Този прикачен файл се добавя към списъка с прикачени файлове на срещата. Събитието се запазва в конкретен път във формат iCalendar, като се използва запис метод и съответния файлов формат.
-
За да извлечете прикачени файлове от среща, тя първо се зарежда от запазения файл, като се използва зареждане метод, броят на прикачените файлове в "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. Следният пример с код показва как да запазите HTML тялото на събитието при конвертиране от EML към 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")