एक्सचेंज सर्वर पर संपर्कों के साथ काम करना

EWS के साथ संपर्क प्राप्त करना

Aspose.Email प्रदान करता है EWSClient Exchange Web Services का उपयोग करके Microsoft Exchange Server से कनेक्ट करने के लिए क्लास। आगे के कोड स्निपेट्स 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 contacts के नोट्स टेक्स्ट फॉर्मेट प्रकार को निर्दिष्ट करता है, जिसे TextFormat एन्यूमरेटर द्वारा परिभाषित किया गया है।

आईडी द्वारा संपर्क प्राप्त करना

निम्नलिखित कोड उदाहरण में दिखाए अनुसार, किसी विशिष्ट संपर्क को उसके संपर्क आईडी का उपयोग करके सर्वर से प्राप्त किया जा सकता है।

Contact fetchedContact = client.getContact(id);

संपर्क जोड़ना

यह EWSClient क्लास createContact() यह मेथड एक्सचेंज सर्वर में संपर्क जानकारी जोड़ने के लिए उपयोग किया जा सकता है। createContact() मेथड लेता है एक Contact ऑब्जेक्ट को इनपुट पैरामीटर के रूप में।

एक्सचेंज सर्वर में संपर्क जोड़ने के लिए:

  1. पता और प्रमाण-पत्रों के साथ EWSClient को प्रारंभ करें।
  2. वांछित प्रॉपर्टीज़ के साथ Contact ऑब्जेक्ट को प्रारंभ करें।
  3. CreateContact मेथड को कॉल करके संपर्क को एक्सचेंज सर्वर में जोड़ें।

Aspose.Email प्रदान करता है EWSClient Exchange Web Services का उपयोग करके Microsoft Exchange Server से कनेक्ट करने के लिए क्लास। कोड स्निपेट्स दिखाते हैं कि कैसे Exchange Web Services का उपयोग करके एक्सचेंज सर्वर में संपर्क जोड़ें।

// 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 Web Service (EWS) के माध्यम से एक्सचेंज सर्वर पर संपर्क जानकारी को अपडेट कर सकता है। IEWSClient’s updateContact() यह मेथड एक्सचेंज सर्वर पर संपर्क जानकारी को अपडेट कर सकता है।

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 class प्रदान करता है deleteItem एक्सचेंज सर्वर के संपर्क फ़ोल्डर से संपर्कों को एक्सेस और हटाने के लिए। यह मेथड संपर्क आईडी को इनपुट पैरामीटर के रूप में लेता है।

एक्सचेंज सर्वर से संपर्कों को हटाने के लिए:

  1. पता और प्रमाण-पत्रों के साथ ExchangeWebServiceClient को प्रारंभ करें।
  2. संपर्क को उसके आईडी का उपयोग करके हटाएँ।

निम्नलिखित कोड स्निपेट्स दिखाते हैं कि एक्सचेंज सर्वर से एक्सचेंज वेब सर्विस का उपयोग करके संपर्कों को कैसे हटाया जाए।

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