Làm việc với Danh Sách Phân Phối trên Exchange Server
Làm việc với Danh sách Phân phối
Aspose.Email API cung cấp khả năng tạo và đọc danh sách phân phối từ máy chủ Exchange. Danh sách phân phối có thể được tạo trên máy chủ cũng như có thể thêm thành viên vào nó bằng cách sử dụng IEWSClient. Bài viết này cho thấy cách làm việc với danh sách phân phối trên máy chủ Exchange.
Tạo Danh sách Phân phối
Đoạn mã sau cho bạn thấy cách tạo một danh sách phân phối.
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
ExchangeDistributionList distributionList = new ExchangeDistributionList();
distributionList.setDisplayName("test private list");
MailAddressCollection members = new MailAddressCollection();
members.add("address1@host.com");
members.add("address2@host.com");
members.add("address3@host.com");
client.createDistributionList(distributionList, members);
Lấy Danh sách Phân phối Riêng tư
Đoạn mã sau cho bạn thấy cách lấy danh sách phân phối riêng tư.
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
ExchangeDistributionList[] distributionLists = client.listDistributionLists();
for (ExchangeDistributionList distributionList : distributionLists) {
MailAddressCollection members = client.fetchDistributionList(distributionList);
for (MailAddress member : (Iterable<MailAddress>) members) {
System.out.println(member.getAddress());
}
}
Mở rộng Danh sách Phân phối Công cộng
Đoạn mã sau cho bạn thấy cách mở rộng Danh sách Phân phối công cộng.
MailAddressCollection members = client.expandDistributionList(new MailAddress("public.distribution.list@host.com"));
for (MailAddress member : (Iterable<MailAddress>) members) {
System.out.println(member.getAddress());
}
Thêm thành viên
Thêm thành viên vào Danh sách Phân phối Riêng tư
Đoạn mã sau cho bạn thấy cách thêm thành viên vào một danh sách phân phối riêng tư.
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
ExchangeDistributionList[] distributionLists = client.listDistributionLists();
MailAddressCollection newMembers = new MailAddressCollection();
newMembers.add("address4@host.com");
newMembers.add("address5@host.com");
client.addToDistributionList(distributionLists[0], newMembers);
Thêm thành viên mà không liệt kê
Đoạn mã sau cho bạn thấy cách thêm thành viên mà không liệt kê.
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
ExchangeDistributionList distributionList = new ExchangeDistributionList();
distributionList.setId("list's id");
distributionList.setChangeKey("list's change key");
MailAddressCollection newMembers = new MailAddressCollection();
newMembers.add("address6@host.com");
client.addToDistributionList(distributionList, newMembers);
Gửi tới Danh sách Phân phối Riêng tư
Đoạn mã sau cho bạn thấy cách gửi tin nhắn tới một danh sách phân phối riêng tư.
ExchangeDistributionList[] distributionLists = client.listDistributionLists();
MailAddress distributionListAddress = distributionLists[0].toMailAddress();
MailMessage message = new MailMessage(new MailAddress("from@host.com"), distributionListAddress);
message.setSubject("sendToPrivateDistributionList");
client.send(message);
Xóa thành viên
Xóa thành viên khỏi Danh sách Phân phối Riêng tư
Đoạn mã sau cho bạn thấy cách xóa các thành viên khỏi một danh sách phân phối riêng tư.
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
ExchangeDistributionList[] distributionLists = client.listDistributionLists();
MailAddressCollection members = client.fetchDistributionList(distributionLists[0]);
MailAddressCollection membersToDelete = new MailAddressCollection();
membersToDelete.addMailAddress(members.get_Item(0));
membersToDelete.addMailAddress(members.get_Item(1));
client.deleteFromDistributionList(distributionLists[0], membersToDelete);
Xóa thành viên mà không liệt kê
Đoạn mã sau cho bạn thấy cách xóa các thành viên mà không liệt kê.
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
ExchangeDistributionList distributionList = new ExchangeDistributionList();
distributionList.setId("list's id");
distributionList.setChangeKey("list's change key");
MailAddressCollection membersToDelete = new MailAddressCollection();
MailAddress addressToDelete = new MailAddress("address", true);
// addressToDelete.Id.EWSId = "member's id";
membersToDelete.addMailAddress(addressToDelete);
client.addToDistributionList(distributionList, membersToDelete);
Xóa Danh sách Phân phối Riêng tư
Đoạn mã sau cho bạn thấy cách xóa một danh sách phân phối riêng tư.
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
ExchangeDistributionList[] distributionLists = client.listDistributionLists();
client.deleteDistributionList(distributionLists[0], true);
Xóa mà không liệt kê
Đoạn mã sau cho bạn thấy cách xóa mà không cần liệt kê.
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
ExchangeDistributionList distributionList = new ExchangeDistributionList();
distributionList.setId("list's id");
client.deleteDistributionList(distributionList, true);