Manajemen Kontak Outlook
Artikel ini membahas Outlook standalone MapiContact item disimpan sebagai MSG atau vCard (VCF). Untuk format netral VCardContact kelas yang membaca dan menulis file vCard secara langsung, lihat Bekerja dengan File vCard (VCF). Untuk menyimpan dan membaca kontak di dalam PST, lihat Mengelola Kontak dalam File PST.
Seperti MapiMessage, Aspose.Email memungkinkan Anda membuat kontak Outlook. The MapiContact kelas menyediakan semua properti terkait kontak yang diperlukan untuk membuat kontak Outlook. Artikel ini menunjukkan cara membuat, menyimpan, dan membaca kontak Outlook menggunakan MapiContact kelas.
Buat dan Simpan Kontak Outlook
Untuk membuat kontak dan menyimpannya ke disk:
- Instansiasi objek baru dari MapiContact kelas.
- Masukkan informasi properti kontak.
- Tambahkan data foto (jika ada).
- Simpan kontak dalam format MSG atau VCard.
Potongan kode berikut menunjukkan cara membuat dan menyimpan kontak Outlook.
// The path to the File directory.
string dataDir = RunExamples.GetDataDir_Outlook();
MapiContact contact = new MapiContact();
contact.NameInfo = new MapiContactNamePropertySet("Bertha", "A.", "Buell");
contact.ProfessionalInfo = new MapiContactProfessionalPropertySet("Awthentikz", "Social work assistant");
contact.PersonalInfo.PersonalHomePage = "B2BTies.com";
contact.PhysicalAddresses.WorkAddress.Address = "Im Astenfeld 59 8580 EDELSCHROTT";
contact.ElectronicAddresses.Email1 = new MapiContactElectronicAddress("Experwas", "SMTP", "BerthaABuell@armyspy.com");
contact.Telephones = new MapiContactTelephonePropertySet("06605045265");
contact.PersonalInfo.Children = new string[] { "child1", "child2", "child3" };
contact.Categories = new string[] { "category1", "category2", "category3" };
contact.Mileage = "Some test mileage";
contact.Billing = "Test billing information";
contact.OtherFields.Journal = true;
contact.OtherFields.Private = true;
contact.OtherFields.ReminderTime = new DateTime(2014, 1, 1, 0, 0, 55);
contact.OtherFields.ReminderTopic = "Test topic";
contact.OtherFields.UserField1 = "ContactUserField1";
contact.OtherFields.UserField2 = "ContactUserField2";
contact.OtherFields.UserField3 = "ContactUserField3";
contact.OtherFields.UserField4 = "ContactUserField4";
// Add a photo
using (FileStream fs = File.OpenRead(dataDir + "Desert.jpg"))
{
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, buffer.Length);
contact.Photo = new MapiContactPhoto(buffer,
MapiContactPhotoImageFormat.Jpeg);
}
// Save the Contact in MSG format
contact.Save(dataDir + "MapiContact_out.msg",ContactSaveFormat.Msg);
// Save the Contact in VCF format
contact.Save(dataDir + "MapiContact_out.vcf", ContactSaveFormat.VCard);
Simpan Daftar Distribusi MAPI ke File VCF
Contoh kode di bawah ini menunjukkan cara menyimpan daftar distribusi ke file VCF multi-kontak:
// convert the `msg` object to a `MapiDistributionList` object
var dlist = (MapiDistributionList)msg.ToMapiMessageItem();
//save the distribution list
var options = new MapiDistributionListSaveOptions(ContactSaveFormat.VCard);
dlist.Save("distribution_list.vcf", options);
Konversi File VCF Multi-Kontak menjadi MapiDistributionList
Aspose.Email mendukung konversi file VCF multi-kontak menjadi MapiDistributionList objek, memudahkan mengelola dan mengimpor banyak kontak langsung ke aplikasi Anda. Fitur ini dapat diakses melalui metode statis berikut dalam MapiDistributionList kelas:
- static MapiDistributionList FromVCF(string filePath)
- static MapiDistributionList FromVCF(Stream stream)
Contoh kode di bawah ini menunjukkan cara menggunakan fitur ini:
// Convert a multi-contact VCF file to a MapiDistributionList
MapiDistributionList dlist = MapiDistributionList.FromVCF(fileName);
Simpan Kontak dalam Format VCF
Untuk menyimpan kontak dalam format VCF versi 3, gunakan VCardVersion enumerasi untuk mengatur VCardSaveOptions.Version properti. Kode contoh berikut menunjukkan penggunaan VCardVersion enumerasi untuk menyimpan kontak VCF versi 3:
var options = new MapiDistributionListSaveOptions(ContactSaveFormat.VCard);
options.Version = VCardVersion.V30;
dlist.Save("distribution_list.vcf", options);
Membaca Kontak MAPI
The MapiContact kelas dapat digunakan untuk memuat kontak format Outlook MSG dan VCard. Potongan kode berikut menunjukkan cara memuat kontak Outlook yang disimpan sebagai MSG dan VCF ke dalam MapiContact.
Muat Kontak dari File MSG
Potongan kode berikut menunjukkan cara memuat kontak dari MSG.
MapiMessage msg = MapiMessage.FromFile(dataDir + "Contact.msg");
MapiContact contact = (MapiContact)msg.ToMapiMessageItem();
Console.WriteLine(contact.NameInfo.DisplayName);
Muat Kontak dari VCard
Potongan kode berikut menunjukkan cara memuat file vCard ke dalam MapiContact menggunakan FromVCard metode. Untuk memuat vCard ke dalam VCardContact sebagai gantinya, lihat Bekerja dengan File vCard (VCF).
MapiContact contact = MapiContact.FromVCard(dataDir + "Contact.vcf");
Muat Kontak MAPI dari vCard dengan Opsi Kustom
Untuk memberikan fleksibilitas lebih saat mengonversi file vCard (.vcf) menjadi kontak MAPI, Aspose.Email untuk .NET menyediakan overload MapiContact.FromVCard(string filePath, VCardLoadOptions options) metode yang menerima sebuah VCardLoadOptions objek. Ini menawarkan kontrol yang lebih baik atas interpretasi file vCard - terutama saat bekerja dengan format vCard yang berbeda, enkoding, atau skenario parsing lanjutan.
Contoh kode berikut menunjukkan cara memuat file kontak .vcf ke dalam sebuah MapiContact objek menggunakan overload yang menerima VCardLoadOptions. Kontak yang dimuat kemudian dapat digunakan dalam file PST, ekspor MSG, atau format kompatibel Outlook lainnya.
var mapiContact = MapiContact.FromVCard("contact.vcf", new VCardLoadOptions());
Console.WriteLine(mapiContact.NameInfo.DisplayName);
Muat Kontak dari VCard dengan Enkoding Tertentu
Enkoding file vCard ditentukan melalui PreferredEncoding properti dari VCardLoadOptions kelas. Potongan kode berikut menunjukkan cara memuat kontak dari VCard dengan enkoding yang ditentukan.
var loadOptions = new VCardLoadOptions { PreferredEncoding = Encoding.UTF8 };
var contactReadFromFile = MapiContact.FromVCard(dataDir + @"Contact.vcf", loadOptions);
Simpan File VCard dengan Bidang Ekstended
The UseExtensions properti memungkinkan Anda mengontrol apakah bidang ekstended dapat digunakan saat menyimpan file vCard. Ketika diset ke true (default), ekstensi diizinkan, memberikan kompatibilitas dengan bidang kustom dan informasi kontak tambahan.
Contoh kode berikut menunjukkan cara menonaktifkan bidang tambahan saat menyimpan kontak:
var contact = MapiContact.FromVCard("contact.vcf");
var options = new VCardSaveOptions
{
UseExtensions = false
};
contact.Save("contact_out.vcf", options);
Bekerja dengan File vCard Secara Langsung
Membaca dan menulis file vCard (VCF) dengan format netral VCardContact kelas — memuat satu atau beberapa kontak, memilih enkoding teks, menyimpan dengan versi vCard tertentu, dan pemuatan asinkron — dibahas dalam artikel khusus: Bekerja dengan File vCard (VCF).
Render Informasi Kontak ke MHTML
Kontak Outlook dapat dikonversi ke MHTML menggunakan Aspose.Email API. Contoh ini menunjukkan bagaimana VCard dimuat ke dalam MapiContact dan kemudian dikonversi ke MHTML dengan bantuan MailMessage API.
//Load VCF Contact and convert to MailMessage for rendering to MHTML
var contact = MapiContact.FromVCard("Contact.vcf");
MemoryStream ms = new MemoryStream();
contact.Save(ms, ContactSaveFormat.Msg);
ms.Position = 0;
MapiMessage msg = MapiMessage.Load(ms, new MsgLoadOptions());
MailConversionOptions op = new MailConversionOptions();
MailMessage eml = msg.ToMailMessage(op);
//Prepare the MHT format options
MhtSaveOptions mhtSaveOptions = new MhtSaveOptions();
mhtSaveOptions.CheckBodyContentEncoding = true;
mhtSaveOptions.PreserveOriginalBoundaries = true;
MhtFormatOptions formatOp = MhtFormatOptions.WriteHeader | MhtFormatOptions.RenderVCardInfo;
mhtSaveOptions.RenderedContactFields = ContactFieldsSet.NameInfo | ContactFieldsSet.PersonalInfo | ContactFieldsSet.Telephones | ContactFieldsSet.Events;
mhtSaveOptions.MhtFormatOptions = formatOp;
eml.Save("ContactMhtml_out.mhtml", mhtSaveOptions);
Lihat Juga
- Bekerja dengan File vCard (VCF) — membaca dan menulis file vCard secara langsung dengan
VCardContactkelas. - Mengelola Kontak dalam File PST — menyimpan dan membaca kontak di dalam PST.