العمل مع قوائم التوزيع على Exchange Server
العمل مع قوائم التوزيع
توفر واجهة برمجة التطبيقات 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);