เพิ่มหรือลบผู้ติดต่อจาก Microsoft Exchange Server ใน Java

Microsoft Exchange Server เป็นเซิร์ฟเวอร์อีเมลและปฏิทินที่ให้บริการการทำงานร่วมกันต่างๆ เช่น อีเมล ปฏิทิน การจัดการรายชื่อติดต่อ ฯลฯ ใน หนึ่งในโพสต์ของฉัน ฉันได้แสดงวิธีเข้าถึงและอ่านอีเมล จาก Microsoft Exchange Server โดยทางโปรแกรมใน Java อย่างไรก็ตาม เรามักต้องการรายชื่อผู้ติดต่อที่เรามีบน MS Exchange Server ดังนั้นในบทความนี้ คุณจะได้เรียนรู้วิธีเพิ่ม ลบ หรืออัปเดตผู้ติดต่อบน Microsoft Exchange Server ใน Java

Java API เพื่อเข้าถึงผู้ติดต่อบน MS Exchange Server

Aspose.Email for Java เป็น API ยอดนิยมสำหรับใช้งานแอปพลิเคชันไคลเอนต์อีเมลใน Java ยิ่งไปกว่านั้น มันยังช่วยให้คุณทำงานกับ MS Exchange Server และจัดการกับผู้ติดต่อ อีเมล และรายการสนทนาได้ เราจะใช้ API นี้เพื่อเพิ่ม อัปเดต และลบผู้ติดต่อบน Exchange Server คุณสามารถ ดาวน์โหลด JAR ของ API หรือติดตั้งโดยใช้การกำหนดค่า Maven ต่อไปนี้

พื้นที่เก็บข้อมูล:

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

การพึ่งพา:

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

เพิ่มผู้ติดต่อไปยัง MS Exchange Server ใน Java

ต่อไปนี้เป็นขั้นตอนในการเพิ่มผู้ติดต่อไปยัง Microsoft Exchange Server ใน Java

  • ขั้นแรก สร้างและเริ่มต้นออบเจกต์ NetworkCredential ด้วยชื่อผู้ใช้ รหัสผ่าน และโดเมน
  • จากนั้น เริ่มต้น IEWSClient ด้วยกล่องจดหมาย URI และวัตถุ NetworkCredential
  • สร้างวัตถุของคลาส Contact และตั้งค่าคุณสมบัติ เช่น ชื่อ งาน เพศ โทรศัพท์ บุคคลที่เกี่ยวข้อง ฯลฯ
  • สุดท้าย เรียกเมธอด EWSClient.createContact(Contact) เพื่อเพิ่มผู้ติดต่อ

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเพิ่มผู้ติดต่อไปยัง Microsoft Exchange Server ใน Java

// ตั้งค่า URI ของกล่องจดหมาย ชื่อผู้ใช้ รหัสผ่าน ข้อมูลโดเมน
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);

// สร้างผู้ติดต่อใหม่
Contact contact = new Contact();

// ตั้งค่าข้อมูลทั่วไป
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());

// เพิ่มหมายเลขโทรศัพท์
contact.getPhoneNumbers().add(tmp0);
AssociatedPerson tmp1 = new AssociatedPerson();
tmp1.setName("Catherine");
tmp1.setCategory(AssociatedPersonCategory.getSpouse());

// ผู้ที่เกี่ยวข้องของผู้ติดต่อ
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());

// ตั้งค่าที่อยู่อีเมลของผู้ติดต่อ
contact.getEmailAddresses().add(tmp6);

try {
	// สร้างการติดต่อ
	client.createContact(contact);
} catch (java.lang.RuntimeException ex) {
	System.out.println(ex.getMessage());
}

ลบผู้ติดต่อจาก MS Exchange Server ใน Java

คุณยังสามารถลบผู้ติดต่อจาก MS Exchange Server หากต้องการกรองรายชื่อ คุณสามารถใช้ชื่อ อีเมล หรือคุณสมบัติอื่นๆ ที่เหมาะสมได้ ต่อไปนี้เป็นขั้นตอนในการลบผู้ติดต่อจาก Microsoft Exchange Server ใน Java

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการลบผู้ติดต่อจาก Microsoft Exchange Server ใน Java

// เริ่มต้นไคลเอนต์ EWS
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();

อัปเดตผู้ติดต่อบน Exchange Server ใน Java

Aspose.Email for Java ยังอนุญาตให้คุณอัปเดตผู้ติดต่อบน MS Exchange Server ต่อไปนี้เป็นขั้นตอนในการดำเนินการนี้

  • ขั้นแรก สร้างและเริ่มต้นออบเจกต์ NetworkCredential ด้วยชื่อผู้ใช้ รหัสผ่าน และโดเมน
  • จากนั้น เริ่มต้น IEWSClient ด้วยกล่องจดหมาย URI และวัตถุ NetworkCredential
  • รับผู้ติดต่อจาก Exchange Server โดยใช้เมธอด IEWSClient.getContacts(EWSClient.getMailboxInfo().getContactsUri())
  • หลังจากนั้นวนซ้ำรายชื่อและกรองรายชื่อที่ต้องการ
  • สุดท้าย ให้อัปเดตคุณสมบัติของผู้ติดต่อและเรียก IEWSClient.updateContact(Contact) เพื่อบันทึก

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการอัพเดตผู้ติดต่อบน MS Exchange Server ใน Java

// ตั้งค่า URI ของกล่องจดหมาย ชื่อผู้ใช้ รหัสผ่าน ข้อมูลโดเมน
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);

// เริ่มต้นไคลเอนต์ EWS
IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);

// รายชื่อผู้ติดต่อทั้งหมดและวนซ้ำผู้ติดต่อทั้งหมด
Contact[] contacts = client.getContacts(client.getMailboxInfo().getContactsUri());
Contact contact = contacts[0];

// อัปเดตรายละเอียดการติดต่อ
System.out.println("Name: " + contact.getDisplayName());
contact.setDisplayName("David Ch");
client.updateContact(contact);

รับใบอนุญาต API ฟรี

คุณสามารถรับ ใบอนุญาตชั่วคราวฟรี เพื่อใช้ Aspose.Email for Java โดยไม่มีข้อจำกัดในการประเมิน

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีการทำงานกับผู้ติดต่อบน Microsoft Exchange Server ใน Java เราได้สาธิตวิธีเพิ่ม ลบ และอัปเดตผู้ติดต่อจาก MS Exchange Server ใน Java นอกจากนี้ คุณสามารถสำรวจ เอกสารประกอบ เพื่ออ่านเพิ่มเติมเกี่ยวกับ Aspose.Email for Java นอกจากนี้ คุณสามารถโพสต์คำถามของคุณบน ฟอรัม ของเรา

ดูสิ่งนี้ด้วย