کار با تماس‌ها در سرور Exchange

دریافت مخاطبین با EWS

Aspose.Email ارائه می‌دهد EWSClient کلاس برای اتصال به Microsoft Exchange Server با استفاده از Exchange Web Services. قطعه‌های کد زیر از Exchange Web Services برای خواندن تمام مخاطبین استفاده می‌کنند. قطعه کد زیر نشان می‌دهد چگونه مخاطبین را با EWS دریافت کنید.

// 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());
}

شناسایی مخاطبین با استفاده از نام مخاطب

قطعه کد زیر نشان می‌دهد چگونه با استفاده از EWS مخاطبین را دریافت کنید

// 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());
}

تشخیص قالب یادداشت‌های مخاطب

NotesFormat نوع قالب متنی یادداشت‌های مخاطب را که توسط شمارنده TextFormat تعریف شده است، مشخص می‌کند.

دریافت مخاطب با استفاده از شناسه

یک مخاطب خاص می‌تواند با استفاده از شناسهٔ مخاطب خود از سرور بازیابی شود همان‌طور که در نمونه کد زیر نشان داده شده است.

Contact fetchedContact = client.getContact(id);

افزودن مخاطبین

این EWSClient کلاس createContact() متد می‌تواند برای افزودن اطلاعات مخاطب به سرور Exchange استفاده شود. createContact() متد یک Contact شیء به‌عنوان پارامتر ورودی.

برای افزودن مخاطبین به سرور Exchange:

  1. مقداردهی اولیه EWSClient با آدرس و اعتبارنامه‌ها.
  2. شی Contact را با ویژگی‌های موردنظر مقداردهی کنید.
  3. متد CreateContact را صدا بزنید تا مخاطب به سرور Exchange اضافه شود.

Aspose.Email ارائه می‌دهد EWSClient کلاس برای اتصال به Microsoft Exchange Server با استفاده از Exchange Web Services. قطعه کد نشان می‌دهد چگونه از Exchange Web Services برای افزودن مخاطبین به یک سرور Exchange استفاده کنید.

// 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());
}

به‌روزرسانی مخاطبین

اطلاعات مخاطب می‌تواند با استفاده از Microsoft Outlook به‌روزرسانی شود. Aspose.Email نیز می‌تواند اطلاعات مخاطب را در سرور Exchange با استفاده از Exchange Web Service (EWS) به‌روزرسانی کند. IEWSClient’s updateContact() متد می‌تواند اطلاعات مخاطب را در سرور Exchange به‌روزرسانی کند.

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);

حذف مخاطبین

این EWSClient کلاس فراهم می‌کند deleteItem برای دسترسی و حذف مخاطبین از پوشه Contacts سرور Exchange. این متد شناسه مخاطب را به‌عنوان پارامتر ورودی می‌گیرد.

برای حذف مخاطبین از یک سرور Exchange:

  1. مقداردهی اولیه ExchangeWebServiceClient با آدرس و اعتبارنامه‌ها.
  2. حذف یک مخاطب با استفاده از شناسه‌ آن.

قطعه‌های کد زیر نشان می‌دهند چگونه مخاطبین را از یک سرور Exchange با استفاده از Exchange Web Service حذف کنید.

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();