Outlook 연락처 관리
이 문서는 독립형 Outlook을 다룹니다 MapiContact MSG 또는 vCard (VCF) 로 저장된 항목. 형식에 구애받지 않는 VCardContact vCard 파일을 직접 읽고 쓰는 클래스를 보려면, 다음을 참조하십시오 vCard(VCF) 파일 작업. PST 내부에 연락처를 저장하고 읽으려면, 다음을 참조하십시오 PST 파일에서 연락처 관리.
MapiMessage와 마찬가지로, Aspose.Email를 사용하면 Outlook 연락처를 생성할 수 있습니다. The MapiContact 클래스는 Outlook 연락처를 생성하는 데 필요한 모든 연락처 관련 속성을 제공합니다. 이 문서는 the 를 사용하여 Outlook 연락처를 생성, 저장 및 읽는 방법을 보여줍니다 MapiContact 클래스.
Outlook 연락처 생성 및 저장
연락처를 생성하고 디스크에 저장하려면:
- 새 객체를 인스턴스화합니다 MapiContact 클래스.
- 연락처 속성 정보를 입력합니다.
- 사진 데이터를 추가합니다(있는 경우).
- 연락처를 MSG 또는 VCard 형식으로 저장합니다.
다음 코드 스니펫은 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);
MAPI 배포 목록을 VCF 파일로 저장
아래 코드 샘플은 배포 목록을 다중 연락처 VCF 파일로 저장하는 방법을 보여줍니다:
// 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);
다중 연락처 VCF 파일을 MapiDistributionList 로 변환
Aspose.Email는 다중 연락처 VCF 파일을 into 로 변환을 지원합니다 MapiDistributionList 객체이며, 이를 통해 여러 연락처를 애플리케이션에 직접 관리하고 가져오기가 쉬워집니다. 이 기능은 다음 정적 메서드를 통해 접근할 수 있습니다 the MapiDistributionList 클래스:
- static MapiDistributionList FromVCF(string filePath)
- static MapiDistributionList FromVCF(Stream stream)
아래 코드 샘플은 이 기능을 사용하는 방법을 보여줍니다:
// Convert a multi-contact VCF file to a MapiDistributionList
MapiDistributionList dlist = MapiDistributionList.FromVCF(fileName);
연락처를 VCF 형식으로 저장
연락처를 버전 3 VCF 형식으로 저장하려면 다음을 사용하십시오 VCardVersion 열거형을 사용해 VCardSaveOptions.Version 속성. 다음 샘플 코드는 사용 방법을 보여줍니다. VCardVersion 열거형을 사용해 연락처 VCF 버전 3 형식으로 저장합니다:
var options = new MapiDistributionListSaveOptions(ContactSaveFormat.VCard);
options.Version = VCardVersion.V30;
dlist.Save("distribution_list.vcf", options);
MAPI 연락처 읽기
다음은 MapiContact 클래스를 사용하면 Outlook MSG 및 VCard 형식의 연락처를 모두 로드할 수 있습니다. 다음 코드 스니펫은 MSG와 VCF로 저장된 Outlook 연락처를 a 로 로드하는 방법을 보여줍니다 MapiContact.
MSG 파일에서 연락처 로드
다음 코드 스니펫은 MSG에서 연락처를 로드하는 방법을 보여줍니다.
MapiMessage msg = MapiMessage.FromFile(dataDir + "Contact.msg");
MapiContact contact = (MapiContact)msg.ToMapiMessageItem();
Console.WriteLine(contact.NameInfo.DisplayName);
VCard에서 연락처 로드
다음 코드 스니펫은 vCard 파일을 로드하는 방법을 보여줍니다 MapiContact 다음 사용 FromVCard 메서드. vCard를 로드하려면 VCardContact 대신, 다음을 참조하십시오 vCard(VCF) 파일 작업.
MapiContact contact = MapiContact.FromVCard(dataDir + "Contact.vcf");
사용자 지정 옵션으로 vCard에서 MAPI 연락처 로드
vCard(.vcf) 파일을 MAPI 연락처로 변환할 때 더 많은 유연성을 제공하기 위해 Aspose.Email for .NET은 오버로드를 제공합니다 MapiContact.FromVCard(string filePath, VCardLoadOptions options) a 를 수락하는 메서드 VCardLoadOptions 객체. 이는 vCard 파일이 해석되는 방식을 개선된 제어를 제공하며, 특히 다양한 vCard 형식, 인코딩 또는 고급 파싱 시나리오 작업 시 유용합니다.
다음 코드 샘플은 .vcf 연락처 파일을 a 로 로드하는 방법을 보여줍니다 MapiContact 수락하는 오버로드를 사용한 object VCardLoadOptions. 로드된 연락처는 PST 파일, MSG 내보내기 또는 기타 Outlook 호환 형식에서 사용할 수 있습니다.
var mapiContact = MapiContact.FromVCard("contact.vcf", new VCardLoadOptions());
Console.WriteLine(mapiContact.NameInfo.DisplayName);
지정된 인코딩으로 VCard에서 연락처 로드
vCard 파일의 인코딩은 다음을 통해 지정합니다 PreferredEncoding 속성 VCardLoadOptions 클래스. 다음 코드 스니펫은 지정된 인코딩으로 VCard에서 연락처를 로드하는 방법을 보여줍니다.
var loadOptions = new VCardLoadOptions { PreferredEncoding = Encoding.UTF8 };
var contactReadFromFile = MapiContact.FromVCard(dataDir + @"Contact.vcf", loadOptions);
확장 필드와 함께 VCard 파일 저장
다음은 UseExtensions 속성을 사용하면 vCard 파일을 저장할 때 확장 필드를 사용할지 여부를 제어할 수 있습니다. true(기본값)로 설정하면 확장이 허용되어 사용자 정의 필드 및 추가 연락처 정보를 호환합니다.
다음 코드 샘플은 연락처 저장 시 확장 필드를 비활성화하는 방법을 보여줍니다:
var contact = MapiContact.FromVCard("contact.vcf");
var options = new VCardSaveOptions
{
UseExtensions = false
};
contact.Save("contact_out.vcf", options);
vCard 파일 직접 작업
형식에 구애받지 않는 vCard (VCF) 파일 읽기 및 쓰기 VCardContact 클래스 — 단일 또는 다중 연락처 로드, 텍스트 인코딩 선택, 특정 vCard 버전으로 저장, 비동기 로드 — 전용 문서에서 다룹니다: vCard(VCF) 파일 작업.
연락처 정보를 MHTML로 렌더링
Outlook 연락처는 Aspose.Email API를 사용해 MHTML로 변환할 수 있습니다. 이 예제는 VCard를 로드하는 방법을 보여줍니다 MapiContact 그런 다음 다음을 사용하여 MHTML로 변환합니다 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);
관련 항목
- vCard(VCF) 파일 작업 — vCard 파일을 직접 읽고 씁니다
VCardContact클래스. - PST 파일에서 연락처 관리 — PST 내부에 연락처를 저장하고 읽습니다.