Outlook Takvim Öğeleriyle Çalışma
MapiCalendar ile Çalışma
Aspose.Email’in MapiCalendar sınıfı, bir takvim öğesinin çeşitli özelliklerini ayarlamak için yöntem ve nitelikler sağlar.
Takvim Öğeleri Oluşturma ve Kaydetme
Aşağıdaki kod parçacığı, bir takvim öğesini ICS formatında nasıl oluşturup kaydedeceğinizi gösterir.
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)
Takvim Öğesini MSG Olarak Kaydetme
Aşağıdaki kod parçacığı, takvim öğesini MSG olarak nasıl kaydedeceğinizi gösterir.
MapiCalendar’ı ICS’ye Kaydederken Ürün Kimliği Ayarlama
Aspose.Email kütüphanesi, bir MapiCalendar (takvim öğesi) bir ICS (iCalendar) dosyasına belirli seçeneklerle kaydetmenizi sağlar. ics_save_options.keep_original_date_time_stamp ve ics_save_options.product_identifier özellikleriyle takvim öğesine ait orijinal tarih ve zaman damgalarını koruyabilir ve örneğin "Foo Ltd" gibi bir ürün tanımlayıcısını ICS dosyasına ayarlayabilirsiniz. Ürün tanımlayıcısı, ICS dosyasını oluşturan yazılım ya da hizmeti belirten bir alandır.
MapiCalendar’ı ICS’ye kaydederken bir ürün kimliği ayarlamanızı sağlayan bir kod örneği:
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)
Toplam Etkinlik Sayısını Alma
Şunun işlevi CalendarReader sınıf, belirtilen bir dosyadan takvim verilerini okumanıza olanak tanır. Bir CalendarReader nesnesi oluşturarak, toplam etkinlik sayısı, takvim sürümü, kullanılan yöntem ve takvimin birden çok etkinlik içerip içermediği gibi önemli bilgileri çıkarabiliriz. Aşağıdaki kod snippet’i, takvim verileriyle nasıl çalışılacağını ve ek olarak takvimden randevuların birden çok etkinlik listesini nasıl yükleneceğini gösterir.
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()
Takvime Görüntüleme Hatırlatıcısı Ekleme
Aşağıdaki kod parçacığı, takvime görüntülü hatırlatıcı eklemenin nasıl yapılacağını gösterir.
Takvime Sesli Hatırlatıcı Ekleme
Aşağıdaki kod örneği bir takvime sesli hatırlatma eklemeyi gösterir.
Takvim Dosyalarından Ek Ekleme/Alma
Aspose.Email Calendar ("ae.calendar") modülü ayrıca ek ekleme ve alma işlevselliği sağlar.
-
Randevuya bir ek eklemek için, dosya yolunu sağlayan bir "Attachment" nesnesi oluşturulur. Bu ek, randevunun ek listesine eklenir. Randevu, iCalendar formatında belirli bir dosya yoluna aşağıdaki yöntemle kaydedilir kaydet metodu ve uygun dosya biçimini.
-
Bir randevudan ekleri almak için, önce kaydedilen dosyadan aşağıdaki yöntemle yüklenir yükle metod, "appointment2" içinde bulunan ek sayısını gösterir ve ekler üzerinde döngü yaparak isimlerini yazdırır.
"ae.calendar" modülünü kullanarak ekli randevular oluşturmayı, kaydetmeyi ve ek bilgi almayı gösteren kod örneği aşağıdadır. Takvim uygulamasında randevular ve eklerle çalışma işlevselliğini ve yeteneklerini vurgular.
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)
Toplantı İsteğinden Alıcıların Durumu
Aşağıdaki kod snippet’i, bir toplantı isteğinden alıcıların durumunu nasıl alacağınızı gösterir.
EML Randevusunu HTML Gövdeyi Koruyarak MSG’ye Dönüştür
Aspose.Email, EML randevusunu MSG’ye dönüştürmeyi ve HTML gövdesini korumayı mümkün kılar. "forced_rtf_body_for_appointment" özelliği… MapiConversionOptions sınıf, randevu gövdesinin tipini manipüle etmek için kullanılır. True olarak ayarlandığında, gövde varsayılan olarak RTF formatına dönüştürülür. Gövdeyi HTML formatında tutmak için False olarak ayarlanmalıdır. Aşağıdaki kod örneği, EML’den MSG’ye dönüştürürken randevu HTML gövdesinin nasıl korunacağını gösterir:
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")