Exchange Sunucusunda Kişilerle Çalışma
EWS ile Kişi Alma
Aspose.Email şunları sağlar EWSClient Microsoft Exchange Server’a Exchange Web Services kullanarak bağlanan sınıf. Aşağıdaki kod parçacıkları, Exchange Web Services’i kullanarak tüm kişileri okumayı gösterir. Aşağıdaki kod parçacığı, EWS ile Kişileri nasıl alacağınızı gösterir.
// Create instance of IEWSClient class by giving credentials
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// List all the contacts
Contact[] contacts = client.getContacts(client.getMailboxInfo().getContactsUri());
for (Contact contact : contacts) {
MapiContact mapiContact = Contact.to_MapiContact(contact);
// Display name and email address
System.out.println("Name: " + mapiContact.getNameInfo().getDisplayName() + "+ Email Address: " + mapiContact.getElectronicAddresses().getEmail1());
}
Kişi Adı Kullanarak Kişileri Çözümleme
Aşağıdaki kod parçacığı, EWS ile kişileri nasıl alacağınızı gösterir
// Create instance of IEWSClient class by giving credentials
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// List all the contacts
Contact[] contacts = client.resolveContacts("Changed Name", ExchangeListContactsOptions.FetchPhoto);
for (Contact c : contacts) {
MapiContact contact = Contact.to_MapiContact(c);
// Display name and email address
System.out.println("Name: " + contact.getNameInfo().getDisplayName() + "+ Email Address: " + contact.getElectronicAddresses().getEmail1());
}
Kişi Notları Formatını Belirleme
NotesFormat, TextFormat sayıcı tarafından tanımlanan kişiler notları metin formatı türünü belirtir.
Kimlik Kullanarak Kişi Getirme
Aşağıdaki kod örneğinde gösterildiği gibi, belirli bir kişi, kişi kimliğini kullanarak sunucudan alınabilir.
Contact fetchedContact = client.getContact(id);
Kişi Ekleme
Bu EWSClient sınıf createContact() metod, Exchange Server’a Kişi bilgisi eklemek için kullanılabilir. createContact() metod bir … alır Contact nesneyi giriş parametresi olarak.
Exchange Server’a kişi eklemek için:
- EWSClient’ı adres ve kimlik bilgileriyle başlat.
- Contact nesnesini istenen özelliklerle başlat.
- CreateContact metodunu çağırarak kişiyi Exchange Server’a ekleyin.
Aspose.Email şunları sağlar EWSClient Exchange Web Services kullanarak Microsoft Exchange Server’a bağlanan sınıf. Kod parçacığı, Exchange Web Services’i kullanarak Exchange Server’a kişi eklemeyi nasıl yapacağınızı gösterir.
// Set mailboxURI, Username, password, domain information
String mailboxUri = "https://ex2010/ews/exchange.asmx";
String username = "test.exchange";
String password = "pwd";
String domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
// Create New Contact
Contact contact = new Contact();
// Set general info
contact.setGender(Gender.Male);
contact.setDisplayName("Frank Lin");
contact.setCompanyName("ABC Co.");
contact.setJobTitle("Executive Manager");
PhoneNumber tmp0 = new PhoneNumber();
tmp0.setNumber("123456789");
tmp0.setCategory(PhoneNumberCategory.getHome());
// Add Phone numbers
contact.getPhoneNumbers().add(tmp0);
AssociatedPerson tmp1 = new AssociatedPerson();
tmp1.setName("Catherine");
tmp1.setCategory(AssociatedPersonCategory.getSpouse());
// contact's associated persons
contact.getAssociatedPersons().add(tmp1);
AssociatedPerson tmp2 = new AssociatedPerson();
tmp2.setName("Bob");
tmp2.setCategory(AssociatedPersonCategory.getChild());
contact.getAssociatedPersons().add(tmp2);
AssociatedPerson tmp3 = new AssociatedPerson();
tmp3.setName("Merry");
tmp3.setCategory(AssociatedPersonCategory.getSister());
contact.getAssociatedPersons().add(tmp3);
Url tmp4 = new Url();
tmp4.setHref("www.blog.com");
tmp4.setCategory(UrlCategory.getBlog());
// URLs
contact.getUrls().add(tmp4);
Url tmp5 = new Url();
tmp5.setHref("www.homepage.com");
tmp5.setCategory(UrlCategory.getHomePage());
contact.getUrls().add(tmp5);
EmailAddress tmp6 = new EmailAddress();
tmp6.setAddress("Frank.Lin@Abc.com");
tmp6.setDisplayName("Frank Lin");
tmp6.setCategory(EmailAddressCategory.getEmail1());
// Set contact's Email address
contact.getEmailAddresses().add(tmp6);
try {
client.createContact(contact);
} catch (java.lang.RuntimeException ex) {
System.out.println(ex.getMessage());
}
Kişileri Güncelleme
Kişi bilgileri Microsoft Outlook kullanılarak güncellenebilir. Aspose.Email, Exchange Web Service (EWS) kullanarak Exchange Server’da kişi bilgilerini de güncelleyebilir. IEWSClient’ın updateContact() metod, Exchange Server’da kişi bilgilerini güncelleyebilir.
IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
// List all the contacts and Loop through all contacts
Contact[] contacts = client.getContacts(client.getMailboxInfo().getContactsUri());
Contact contact = contacts[0];
System.out.println("Name: " + contact.getDisplayName());
contact.setDisplayName("David Ch");
client.updateContact(contact);
Kişileri Silme
Bu EWSClient class, şunları sağlar deleteItem Exchange Server’ın kişiler klasörüne erişmek ve kişileri silmek için. Bu metod, kişi kimliğini giriş parametresi olarak alır.
Exchange Server’dan kişileri silmek için:
- ExchangeWebServiceClient’ı adres ve kimlik bilgileriyle başlat.
- Bir kişinin kimliğini kullanarak sil.
Aşağıdaki kod parçacıkları, Exchange Web Service kullanarak bir Exchange sunucusundan kişileri nasıl sileceğinizi gösterir.
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
String strContactToDelete = "John Teddy";
Contact[] contacts = client.getContacts(client.getMailboxInfo().getContactsUri());
for (Contact contact : contacts) {
if (contact.getDisplayName().equals(strContactToDelete))
client.deleteItem(contact.getId().getEWSId(), DeletionOptions.getDeletePermanently());
}
client.dispose();