Bekerja dengan Item Kalender Outlook

Bekerja dengan MapiCalendar

Kelas MapiCalendar dari Aspose.Email menyediakan metode dan atribut untuk mengatur berbagai properti sebuah item kalender.

Membuat dan Menyimpan Item Kalender

Potongan kode berikut menunjukkan cara membuat dan menyimpan item kalender dalam 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)

Menyimpan Item Kalender sebagai MSG

Potongan kode berikut menunjukkan cara menyimpan item kalender sebagai MSG.

Mengatur ID Produk saat Menyimpan MapiCalendar ke ICS

Perpustakaan Aspose.Email memungkinkan Anda menyimpan MapiCalendar (sebuah item kalender) ke file ICS (iCalendar) dengan opsi tertentu. Dengan properti ics_save_options.keep_original_date_time_stamp dan ics_save_options.product_identifier Anda dapat mempertahankan stempel tanggal dan waktu asli yang terkait dengan item kalender dan menetapkan identifier produk dalam file ICS, misalnya menjadi "Foo Ltd". Identifier produk adalah bidang yang mengidentifikasi perangkat lunak atau layanan yang menghasilkan file ICS.

Berikut contoh kode yang memungkinkan Anda menetapkan ID produk saat menyimpan MapiCalendar ke 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)

Mendapatkan Total Jumlah Acara

Fungsionalitas dari CalendarReader kelas memungkinkan Anda membaca data kalender dari file tertentu. Dengan membuat objek CalendarReader, kita dapat mengekstrak informasi penting seperti total jumlah acara, versi kalender, metode yang digunakan, dan apakah kalender berisi banyak acara. Potongan kode berikut mendemonstrasikan cara bekerja dengan data kalender dan, tambahan, memuat janji dari kalender sebagai daftar banyak acara.

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()

Menambahkan Pengingat Tampilan ke Kalender

Potongan kode berikut menunjukkan cara menambahkan pengingat tampilan ke kalender.

Menambahkan Pengingat Audio ke Kalender

Potongan kode berikut menunjukkan cara menambahkan pengingat audio ke kalender.

Menambahkan/Mengambil lampiran dari file Kalender

Modul Aspose.Email Calendar ("ae.calendar") juga menyediakan fungsionalitas untuk menambahkan dan mengambil informasi lampiran.

  • Untuk menyertakan lampiran pada janji, objek "Attachment" dibuat dengan menyediakan jalur file. Lampiran ini kemudian ditambahkan ke daftar lampiran janji. Janji disimpan ke jalur file tertentu dalam format iCalendar menggunakan save metode dan format file yang sesuai.

  • Untuk mengambil lampiran dari sebuah janji, pertama-tama dimuat dari file yang disimpan menggunakan muat metode, jumlah lampiran yang ada dalam "appointment2" ditampilkan, dan dengan iterasi atas lampiran nama-namanya dicetak.

Potongan kode di bawah ini menunjukkan cara membuat janji dengan lampiran, menyimpannya, dan mengambil informasi lampiran menggunakan modul "ae.calendar". Ini menyoroti fungsionalitas dan kemampuan bekerja dengan janji dan lampiran dalam aplikasi kalender.

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 Penerima dari Permintaan Rapat

Potongan kode berikut menunjukkan cara mendapatkan status penerima dari permintaan rapat.

Mengonversi Janji EML ke MSG sambil mempertahankan Body dalam format HTML

Aspose.Email memungkinkan mengonversi janji EML ke MSG dan mempertahankan Body HTML. Properti "forced_rtf_body_for_appointment" dari MapiConversionOptions kelas digunakan untuk memanipulasi tipe isi janji. Ketika diatur ke True, isi akan dikonversi ke format RTF secara default. Untuk mempertahankan isi dalam format HTML, harus diatur ke False. Contoh kode berikut menunjukkan cara mempertahankan isi HTML janji saat mengkonversinya dari EML ke 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")