Membuat dan Menyimpan File Outlook
Aspose.Email mendukung pembuatan file Outlook message (MSG). Artikel ini menjelaskan cara:
- Buat dan Simpan Pesan Outlook
- Buat File MSG Dengan Lampiran
- Buat File MSG dengan Body RTF
- Simpan Pesan dalam Status Draft
Buat dan Simpan Pesan Outlook
The MailMessage kelas memiliki Save() metode yang dapat menyimpan file Outlook MSG ke disk atau stream. Potongan kode di bawah ini membuat instance dari MailMessage kelas, atur properti seperti from, to, subject, dan body. Metode Save() metode mengambil nama file sebagai argumen. Selain itu, Outlook Messages dapat dibuat dengan sebuah tubuh RTF terkompresi menggunakan MapiConversionOptions.
- Buat instance baru dari MailMessage kelas dan mengatur properti From, To, Subject, dan Body.
- Panggil MapiMessage kelas FromMailMessage metode yang menerima objek dari MailMessage tipe. Metode FromMailMessage metode mengonversi MailMessage menjadi sebuah MapiMessage (MSG).
- Panggil MapiMessage.Save() metode untuk menyimpan file MSG.
Tuliskan kode berikut dalam event click kontrol tombol pada aplikasi Windows.
Buat File MSG Dengan Lampiran
Dalam contoh di atas, kami membuat file MSG sederhana. Aspose.Email juga mendukung penyimpanan file pesan dengan lampiran. Yang perlu Anda lakukan hanyalah menambahkan lampiran ke MailMessage instance. Tambahkan lampiran dengan memanggil metode Add() pada MailMessage.Attachments koleksi. Tambahkan listbox ke form yang dibuat di atas dan tambahkan dua tombol, masing‑masing untuk menambah dan menghapus lampiran. Aplikasi yang menambahkan aplikasi bekerja seperti ini:
- Saat tombol Add Attachment diklik, Open File Dialog ditampilkan untuk membantu pengguna menelusuri dan memilih lampiran.
- Setelah file dipilih, jalur lengkap ditambahkan ke daftar.
- Saat file MSG dibuat, jalur lampiran diambil dari daftar dan ditambahkan ke MailMessage.Attachments koleksi.
Tuliskan kode berikut dalam event klik tombol Add Attachment.
Saat tombol Remove Attachment diklik, hapus item yang dipilih dari listbox. Tulis kode berikut dalam event klik tombol Remove Attachment.
Tambahkan kode untuk menambahkan lampiran ke MailMessage instance. Kode akhir untuk fungsi Write Msg dituliskan seperti di bawah ini.
Buat File MSG dengan Isi RTF
Anda juga dapat membuat file Outlook Message (MSG) dengan tubuh teks kaya (RTF) menggunakan Aspose.Email. Tubuh RTF mendukung pemformatan teks. Buat satu dengan mengatur MailMessage.HtmlBody property. Ketika Anda mengonversi sebuah MailMessage instance menjadi sebuah MapiMessage instance, tubuh HTML dikonversi menjadi RTF. Dengan cara ini, pemformatan tubuh email dipertahankan.
Contoh berikut membuat file MSG dengan tubuh RTF. Ada satu heading, pemformatan tebal dan garis bawah yang diterapkan dalam tubuh HTML. Pemformatan ini dipertahankan ketika HTML dikonversi menjadi RTF.
Kompresi RTF untuk Badan Pesan MAPI
CATATAN: Proses kompresi dapat memperlambat kinerja saat membuat pesan. Dengan memahami hal ini dan mengonfigurasi flag kompresi berdasarkan kebutuhan spesifik serta kompromi antara ukuran file dan kinerja, pengembang dapat secara efektif mengelola pembuatan file MSG dan PST saat menangani pesan email.
Kompresi RTF dimaksudkan untuk mengurangi ukuran pesan sekaligus file PST (Personal Storage Table) yang dihasilkan yang digunakan Microsoft Outlook untuk menyimpan pesan email dan data lainnya. Dengan menggunakan kompresi RTF saat mengonfigurasi tubuh pesan, pengembang dapat mengurangi jumlah memori yang dibutuhkan untuk menyimpan pesan email atau mengoptimalkan bandwidth jaringan saat mentransmisikan pesan.
Untuk tujuan ini, telah dirancang dua metode overload:
-
MapiMessageItemBase.SetBodyContent(string content, BodyContentType contentType, bool compression): Metode ini memungkinkan Anda mengatur konten body pesan menggunakan string yang ditentukan dan menentukan contentType body (misalnya, teks biasa, HTML, dll.). Parameter compression opsional adalah nilai yang menentukan apakah konten harus dikompresi menggunakan kompresi RTF. Jika parameter compression bernilai true, konten akan dikompresi, menghasilkan ukuran pesan yang lebih kecil.
-
MapiMessageItemBase.SetBodyRtf(string content, bool compression): Metode ini secara khusus mengatur konten body pesan dalam format RTF. Parameter content adalah string yang mewakili konten RTF yang akan dijadikan body pesan. Seperti pada metode sebelumnya, parameter compression menentukan apakah kompresi RTF harus diterapkan pada konten. Jika compression bernilai true, konten RTF akan dikompresi untuk mengurangi ukuran.
Contoh kode berikut menunjukkan cara mengatur body html dan mempertahankannya terkompresi:
var msg = new MapiMessage("from@doamin.com", "to@domain.com", "subject", "body");
// set the html body and keep it compressed
// this will reduce the message size
msg.SetBodyContent(htmlBody, BodyContentType.Html, true);
Ada juga sebuah MapiConversionOptions.UseBodyCompression properti. Ketika properti ini diaktifkan, kompresi body RTF diterapkan selama konversi MailMessage ke MapiMessage, menghasilkan ukuran file MSG yang lebih kecil. Ini ditunjukkan dalam contoh kode di bawah ini:
var message = MailMessage.Load(fileName);
var options = new MapiConversionOptions();
options.UseBodyCompression = true;
var msg = MapiMessage.FromMailMessage(message, options);
Simpan Pesan dalam Status Draft
Email disimpan sebagai draf ketika seseorang telah mulai mengeditnya tetapi ingin kembali ke sana untuk menyelesaikannya nanti. Aspose.Email mendukung penyimpanan pesan email dalam status draf dengan mengatur flag pesan. Di bawah ini contoh kode untuk menyimpan pesan email Outlook (MSG) sebagai draf.