Работа с контактами Outlook
Создание контакта Outlook
Aspose.Email для Java поддерживает создание контактов Outlook (VCards) с использованием класса MapiContact. MapiContact содержит множество методов, некоторые из которых приведены ниже.
- MapiContactElectronicAddressPropertySet содержит набор MapiContactElectronicAddress.
- MapiContactEventPropertySet
- MapiContactNamePropertySet
- MapiContactPersonalInfoPropertySet
- MapiContactPhysicalAddressPropertySet содержит набор MapiContactPhysicalAddress.
- MapiContactProfessionalPropertySet
- MapiContactTelephonePropertySet
Структура контакта в Aspose.Email для Java
Ниже представлена иерархия, реализованная для контактов в Aspose.Email для Java. Соответствующее имя класса указано напротив каждого свойства. Гиперссылки предоставлены для онлайн-документации для дальнейшего изучения.
- Contact (MapiContact)
- Электронные адреса (MapiContactElectronicAddressPropertySet)
- Email1 (MapiContactElectronicAddress)
- Тип адреса
- Имя для отображения
- Электронный адрес
- Номер факса
- Email2
- Email3
- Домашний факс
- Основной факс
- Факс для бизнеса
- Email1 (MapiContactElectronicAddress)
- События (
MapiContactEventPropertySet
). Ниже приведен пример того, как установить события.- День рождения
- Юбилей свадьбы
- Информация о имени (
MapiContactNamePropertySet
)- Имя для отображения
- Префикс имени для отображения
- Файл под
- ID файла
- Поколение
- Имя
- Инициал(ы)
- Отчество
- Псевдоним
- Фамилия
- Личная информация (MapiContactPersonalInfoPropertySet)
- Учетная запись
- Веб-страница бизнеса
- Имя компьютерной сети
- ID клиента
- Свободное местоположение бизнеса
- FTP сайт
- Пол
- Номер удостоверения личности
- Хобби
- HTML
- Адрес мгновенных сообщений
- Язык
- Местоположение
- Заметки
- Номер организационного удостоверения
- Личная веб-страница
- Рекомендованное имя
- Имя супруга
- Физический адрес (MapiContactPhysicalAddressPropertySet)
- Домашний адрес (MapiContactPhysicalAddress)
- Адрес
- Город
- Страна
- Код страны
- Почтовый индекс
- Почтовый ящик
- Штат или провинция
- Другой адрес
- Рабочий адрес
- Домашний адрес (MapiContactPhysicalAddress)
- Профессиональная информация
- Ассистент
- Название компании
- Название отдела
- Имя менеджера
- Местоположение офиса
- Профессия
- Должность
- Телефоны (MapiContactTelephonePropertySet)
- Номер телефона ассистента
- Номер телефона для бизнеса2
- Номер телефона для бизнеса
- Номер телефона для обратного вызова
- Номер телефона автомобиля
- Основной номер телефона компании
- Номер телефона для дома2
- Номер телефона для дома
- Номер ISDN
- Номер мобильного телефона
- Другой номер телефона
- Номер пейджера
- Основной номер телефона
- Номер радиотелефона
- Номер телекса
- Номер телефона TTY/TDD
- Электронные адреса (MapiContactElectronicAddressPropertySet)
Следующий код использует Aspose.Email для создания контакта Outlook и заполняет его именем, профессиональными свойствами, физическим адресом и электронной почтой. Также показано как добавить MapiContactEventPropertySet к контакту.
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Рисунок: Контакт Microsoft Outlook, закодированный с помощью Aspose.Email | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
|
Добавление информации о событиях контакта в MapiContact
Microsoft Outlook позволяет пользователям добавлять информацию о событиях к контакту. Событие содержит день рождения и юбилей свадьбы. Aspose.Email предоставляет класс MapiContactEventPropertySet для добавления этой информации к контакту. Это подробно описано в следующем примере.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java | |
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT")); | |
calendar.set(1990, Calendar.NOVEMBER, 1, 0, 0, 0); | |
Date birthday = calendar.getTime(); | |
calendar.set(2012, Calendar.NOVEMBER, 1, 0, 0, 0); | |
Date weddingDay = calendar.getTime(); | |
MapiContactEventPropertySet contactEventSet = new MapiContactEventPropertySet(); | |
contactEventSet.setBirthday(birthday); | |
contactEventSet.setWeddingAnniversary(weddingDay); | |
MapiContact contact = new MapiContact(); | |
contact.setEvents(contactEventSet); | |
contact.save(dataDir + "Contact_out.msg", ContactSaveFormat.Msg); |
Создание, сохранение и чтение контактов Outlook
Aspose.Email позволяет разработчикам создавать контакты Microsoft Outlook, а также электронные сообщения. Класс MapiContact предоставляет все свойства контакта, необходимые для создания контакта Outlook. В этой статье показано, как создать, сохранить и прочитать контакт Outlook с помощью класса MapiContact.
Создайте и сохраните MapiContact
Следующие шаги можно использовать для создания и сохранения контакта на диске:
- Создайте новый объект класса MapiContact.
- Введите информацию, связанную с различными свойствами контакта.
- Добавьте фотоданные к контакту, если есть.
- Сохраните контакт в формате MSG или VCard.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java | |
MapiContact contact = new MapiContact("Sebastian Wright", "SebastianWright@dayrep.com"); | |
contact.setNameInfo(new MapiContactNamePropertySet("Bertha", "A.", "Buell")); | |
contact.setProfessionalInfo(new MapiContactProfessionalPropertySet("Awthentikz", "Social work assistant")); | |
contact.getPersonalInfo().setPersonalHomePage("B2BTies.com"); | |
contact.getPhysicalAddresses().getWorkAddress().setAddress("Im Astenfeld 59 8580 EDELSCHROTT"); | |
contact.getElectronicAddresses().setEmail1(new MapiContactElectronicAddress("Experwas", "SMTP", "BerthaABuell@armyspy.com")); | |
contact.setTelephones(new MapiContactTelephonePropertySet("06605045265")); | |
//Set Photo Data | |
File fi = new File(dataDir + "Desert.jpg"); | |
byte[] fileContent = Files.readAllBytes(fi.toPath()); | |
MapiContactPhoto photo = new MapiContactPhoto(fileContent, MapiContactPhotoImageFormat.Jpeg); | |
contact.setPhoto(photo); | |
//Save as MSG | |
contact.save(dataDir + "Contact_out.msg", ContactSaveFormat.Msg); |
Сохранение контакта в формате VCF версии 3
Чтобы сохранить контакт в формате VCF версии 3, используйте перечисление VCardVersion для установки свойства VCardSaveOptions.Version. Следующий пример кода демонстрирует использование перечисления VCardVersion для сохранения контакта в формате VCF версии 3.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java | |
// The path to the resource directory. | |
String dataDir = Utils.getSharedDataDir(DistributionList.class) + "outlook/"; | |
MapiContact contact = new MapiContact(); | |
contact.setNameInfo(new MapiContactNamePropertySet("Jane", "A.", "Buell")); | |
contact.setProfessionalInfo(new MapiContactProfessionalPropertySet("Aspose Pty Ltd", "Social work assistant")); | |
contact.getPersonalInfo().setPersonalHomePage("Aspose.com"); | |
contact.getElectronicAddresses().setEmail1(new MapiContactElectronicAddress("test@test.com")); | |
contact.getTelephones().setHomeTelephoneNumber("06605040000"); | |
VCardSaveOptions opt = new VCardSaveOptions(); | |
opt.setVersion(VCardVersion.V30); | |
contact.save(dataDir + "V30.vcf", opt); |
Чтение MapiContact
Класс MapiContact может использоваться для загрузки как файлов MSG Microsoft Outlook, так и контактов формата VCard. Следующие примеры кода показывают, как загрузить контакты Outlook, сохраненные в формате MSG и VCF, в MapiContact.
Загрузка контакта из MSG
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java | |
MapiMessage msg = MapiMessage.fromFile(dataDir + "messageMapi.msg"); | |
MapiContact mapiContact = (MapiContact) msg.toMapiMessageItem(); |
Загрузка контакта из VCard
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java | |
MapiContact mapiContact = MapiContact.fromVCard(dataDir + "microsoft.vcf"); |
Загрузка VCard контакта с заданной кодировкой
Поддерживаемый метод: MapiContact.fromVCard(String, Encoding)
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java | |
MapiContact contactReadFromFile = MapiContact.fromVCard( "microsoft.vcf", StandardCharsets.UTF_8); |
Отображение информации о контакте в MHTML
Контакт Outlook можно преобразовать в MHTML с помощью API Aspose.Email. Этот пример показывает, как VCard загружается в MapiContact и затем преобразуется в MHTML с помощью API MailMessage.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java | |
String dataDir = Utils.getSharedDataDir(RenderingContactInformationToMhtml.class) + "outlook/"; | |
//Load VCF Contact and convert to MailMessage for rendering to MHTML | |
MapiContact contact = MapiContact.fromVCard(dataDir + "ContactsSaqib Razzaq.vcf"); | |
ByteArrayOutputStream os = new ByteArrayOutputStream(); | |
contact.save(os, ContactSaveFormat.Msg); | |
MapiMessage msg = MapiMessage.fromStream(new ByteArrayInputStream(os.toByteArray())); | |
MailConversionOptions op = new MailConversionOptions(); | |
MailMessage eml = msg.toMailMessage(op); | |
//Prepare the MHT format options | |
MhtSaveOptions mhtSaveOptions = new MhtSaveOptions(); | |
mhtSaveOptions.setCheckBodyContentEncoding(true); | |
mhtSaveOptions.setPreserveOriginalBoundaries(true); | |
mhtSaveOptions.setMhtFormatOptions(MhtFormatOptions.RenderVCardInfo | MhtFormatOptions.WriteHeader); | |
mhtSaveOptions.setRenderedContactFields(ContactFieldsSet.NameInfo | ContactFieldsSet.PersonalInfo | ContactFieldsSet.Telephones | ContactFieldsSet.Events); | |
eml.save(dataDir + "ContactsSaqib Razzaq_out.mhtml", mhtSaveOptions); | |
System.out.println("Execution Completed."); |