Tambah atau Hapus Kontak dari Microsoft Exchange Server di Java

Microsoft Exchange Server adalah server email dan kalender yang menyediakan berbagai layanan kolaborasi seperti email, kalender, manajemen kontak, dll. Di salah satu postingan saya, saya telah menunjukkan kepada Anda cara mengakses dan membaca email dari Microsoft Exchange Server secara terprogram di Java. Namun, kami sering membutuhkan daftar kontak yang kami miliki di MS Exchange Server. Jadi dalam artikel ini, Anda akan mempelajari cara menambah, menghapus, atau memperbarui kontak di Microsoft Exchange Server di Java.

Java API untuk Mengakses Kontak di MS Exchange Server

Aspose.Email for Java adalah API populer untuk mengimplementasikan aplikasi klien email di Java. Selain itu, ini memungkinkan Anda untuk bekerja dengan MS Exchange Server dan memanipulasi kontak, email, dan item percakapan. Kami akan menggunakan API ini untuk menambah, memperbarui, dan menghapus kontak di Exchange Server. Anda dapat mengunduh JAR API atau menginstalnya menggunakan konfigurasi Maven berikut.

Gudang:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>

Ketergantungan:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-email</artifactId>
    <version>22.2</version>
    <classifier>jdk16</classifier>
</dependency>

Tambahkan Kontak ke MS Exchange Server di Java

Berikut adalah langkah-langkah untuk menambahkan kontak ke Microsoft Exchange Server di Java.

  • Pertama, buat dan inisialisasi objek NetworkCredential dengan username, password, dan domain.
  • Kemudian, inisialisasi IEWSClient dengan URI kotak surat dan objek NetworkCredential.
  • Buat objek kelas Kontak dan atur propertinya seperti nama, pekerjaan, jenis kelamin, telepon, orang terkait, dll.
  • Terakhir, panggil metode EWSClient.createContact(Contact) untuk menambahkan kontak.

Contoh kode berikut menunjukkan cara menambahkan kontak ke Microsoft Exchange Server di Java.

// Setel URI kotak surat, nama pengguna, kata sandi, informasi domain
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);

// Buat Kontak Baru
Contact contact = new Contact();

// Setel info umum
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());

// Tambahkan nomor telepon
contact.getPhoneNumbers().add(tmp0);
AssociatedPerson tmp1 = new AssociatedPerson();
tmp1.setName("Catherine");
tmp1.setCategory(AssociatedPersonCategory.getSpouse());

// Kontak orang terkait
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());

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

// Tetapkan alamat email kontak
contact.getEmailAddresses().add(tmp6);

try {
	// Buat kontak
	client.createContact(contact);
} catch (java.lang.RuntimeException ex) {
	System.out.println(ex.getMessage());
}

Hapus Kontak dari MS Exchange Server di Java

Anda juga dapat menghapus kontak dari MS Exchange Server. Untuk memfilter kontak, Anda dapat menggunakan nama, email, atau properti lain yang sesuai. Berikut adalah langkah-langkah untuk menghapus kontak dari Microsoft Exchange Server di Java.

Contoh kode berikut menunjukkan cara menghapus kontak dari Microsoft Exchange Server di Java.

// Inisialisasi klien EWS
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// Nama Kontak
String strContactToDelete = "John Teddy";

// Dapatkan kontak
Contact[] contacts = client.getContacts(client.getMailboxInfo().getContactsUri());

// Putar melalui kontak
for (Contact contact : contacts) {
    if (contact.getDisplayName().equals(strContactToDelete))
    	// Hapus kontak
        client.deleteItem(contact.getId().getEWSId(), DeletionOptions.getDeletePermanently());
}
client.dispose();

Perbarui Kontak di Exchange Server di Jawa

Aspose.Email for Java juga memungkinkan Anda memperbarui kontak di MS Exchange Server. Berikut ini adalah langkah-langkah untuk melakukan operasi ini.

Contoh kode berikut menunjukkan cara memperbarui kontak di MS Exchange Server di Java.

// Setel URI kotak surat, nama pengguna, kata sandi, informasi domain
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);

// Inisialisasi klien EWS
IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);

// Buat daftar semua kontak dan Ulangi semua kontak
Contact[] contacts = client.getContacts(client.getMailboxInfo().getContactsUri());
Contact contact = contacts[0];

// Perbarui detail kontak
System.out.println("Name: " + contact.getDisplayName());
contact.setDisplayName("David Ch");
client.updateContact(contact);

Dapatkan Lisensi API Gratis

Anda bisa mendapatkan lisensi sementara gratis untuk menggunakan Aspose.Email for Java tanpa batasan evaluasi.

Kesimpulan

Pada artikel ini, Anda telah mempelajari cara bekerja dengan kontak di Microsoft Exchange Server di Java. Kami telah mendemonstrasikan cara menambah, menghapus, dan memperbarui kontak dari MS Exchange Server di Java. Selain itu, Anda dapat menjelajahi dokumentasi untuk membaca lebih lanjut tentang Aspose.Email for Java. Selain itu, Anda dapat memposting pertanyaan Anda di forum kami.

Lihat juga