کار با فهرست‌های توزیعی در Exchange Server

کار با لیست‌های توزیع

API Aspose.Email قابلیت ایجاد و خواندن لیست‌های توزیع را از سرور Exchange فراهم می‌کند. لیست‌های توزیع می‌توانند در سرور ایجاد شوند و اعضا می‌توانند با استفاده از آن اضافه شوند. IEWSClient. این مقاله نشان می‌دهد چگونه با لیست‌های توزیع در سرور Exchange کار کنید.

ایجاد لیست توزیع

قطعه کد زیر نشان می‌دهد چگونه یک لیست توزیع ایجاد کنید.

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

دریافت لیست توزیع خصوصی

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

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

گسترش لیست توزیع عمومی

قطعه کد زیر نشان می‌دهد چگونه لیست توزیع عمومی را گسترش دهید.

MailAddressCollection members = client.expandDistributionList(new MailAddress("public.distribution.list@host.com"));
for (MailAddress member : (Iterable<MailAddress>) members) {
    System.out.println(member.getAddress());
}

اضافه کردن اعضا

اضافه کردن اعضا به لیست توزیع خصوصی

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

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

اضافه کردن اعضا بدون فهرست کردن

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

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

ارسال به لیست توزیع خصوصی

قطعه کد زیر نشان می‌دهد چگونه یک پیام به لیست توزیع خصوصی ارسال کنید.

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

حذف اعضا

حذف اعضا از لیست توزیع خصوصی

قطعه کد زیر نشان می‌دهد چگونه اعضا را از یک لیست توزیع خصوصی حذف کنید.

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

حذف اعضا بدون فهرست کردن

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

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

حذف لیست توزیع خصوصی

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

IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
ExchangeDistributionList[] distributionLists = client.listDistributionLists();
client.deleteDistributionList(distributionLists[0], true);

حذف بدون فهرست کردن

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

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