package com.aspose.email.examples.exchangeews;
import com.aspose.email.EWSClient;
import com.aspose.email.ExchangeDistributionList;
import com.aspose.email.IEWSClient;
import com.aspose.email.MailAddress;
import com.aspose.email.MailAddressCollection;
import com.aspose.email.MailMessage;
public class DistributionLists {
public static void main(String[] args) {
// Create Private Distribution List
createPrivateDistributionList();
//Fetch Private Distribution List
fetchPrivateDistributionList();
//Add members to Private Distribution List
addMembersToPrivateDistributionList();
//Add members without listing
addMembersWithoutListing();
//Delete members from Private Distribution List
deleteMembersFromPrivateDistributionList();
//Delete members without listing
deleteMembersWithoutListing();
//Delete Private Distribution List
deletePrivateDistributionList();
//Delete without Listing
deleteWithoutListing();
//Send to Private Distribution List
sendToPrivateDistributionList();
//Create MailAddress from Distribution List Id
createMailAddressFromDistributionListId();
//Expand Public Distribution List
expandPublicDistributionList();
}
public static void createPrivateDistributionList() {
IEWSClient client = EWSClient.getEWSClient("https://exchange.domain.com/exchangeews/Exchange.asmx/", "user", "password", "");
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);
}
public static void fetchPrivateDistributionList() {
IEWSClient client = EWSClient.getEWSClient("https://exchange.domain.com/exchangeews/Exchange.asmx/", "user", "password", "");
ExchangeDistributionList[] distributionLists = client.listDistributionLists();
for (ExchangeDistributionList distributionList : distributionLists) {
MailAddressCollection members = client.fetchDistributionList(distributionList);
for (MailAddress member : members) {
}
}
}
public static void addMembersToPrivateDistributionList() {
IEWSClient client = EWSClient.getEWSClient("https://exchange.domain.com/exchangeews/Exchange.asmx/", "user", "password", "");
ExchangeDistributionList[] distributionLists = client.listDistributionLists();
MailAddressCollection newMembers = new MailAddressCollection();
newMembers.add("address4@host.com");
newMembers.add("address5@host.com");
client.addToDistributionList(distributionLists[0], newMembers);
}
public static void addMembersWithoutListing() {
IEWSClient client = EWSClient.getEWSClient("https://exchange.domain.com/exchangeews/Exchange.asmx/", "user", "password", "");
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);
}
public static void deleteMembersFromPrivateDistributionList() {
IEWSClient client = EWSClient.getEWSClient("https://exchange.domain.com/exchangeews/Exchange.asmx/", "user", "password", "");
ExchangeDistributionList[] distributionLists = client.listDistributionLists();
MailAddressCollection members = client.fetchDistributionList(distributionLists[0]);
MailAddressCollection membersToDelete = new MailAddressCollection();
membersToDelete.addItem(members.get_Item(0));
membersToDelete.addItem(members.get_Item(1));
client.deleteFromDistributionList(distributionLists[0], membersToDelete);
}
public static void deleteMembersWithoutListing() {
IEWSClient client = EWSClient.getEWSClient("https://exchange.domain.com/exchangeews/Exchange.asmx/", "user", "password", "");
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);
membersToDelete.addItem(addressToDelete);
client.addToDistributionList(distributionList, membersToDelete);
}
public static void deletePrivateDistributionList() {
IEWSClient client = EWSClient.getEWSClient("https://exchange.domain.com/exchangeews/Exchange.asmx/", "user", "password", "");
ExchangeDistributionList[] distributionLists = client.listDistributionLists();
client.deleteDistributionList(distributionLists[0], true);
}
public static void deleteWithoutListing() {
IEWSClient client = EWSClient.getEWSClient("https://exchange.domain.com/exchangeews/Exchange.asmx/", "user", "password", "");
ExchangeDistributionList distributionList = new ExchangeDistributionList();
distributionList.setId("list's id");
client.deleteDistributionList(distributionList, true);
}
public static void sendToPrivateDistributionList() {
IEWSClient client = EWSClient.getEWSClient("https://exchange.domain.com/exchangeews/Exchange.asmx/", "user", "password", "");
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);
}
public static void createMailAddressFromDistributionListId() {
IEWSClient client = EWSClient.getEWSClient("https://exchange.domain.com/exchangeews/Exchange.asmx/", "user", "password", "");
ExchangeDistributionList[] distributionLists = client.listDistributionLists();
String id = distributionLists[0].getId();
MailAddress distributionListAddress = new MailAddress("privateDL", true);
}
public static void expandPublicDistributionList() {
IEWSClient client = EWSClient.getEWSClient("https://exchange.domain.com/exchangeews/Exchange.asmx/", "user", "password", "");
MailAddressCollection members = client.expandDistributionList(new MailAddress("public.distribution.list@host.com"));
for (MailAddress member : members) {
// ...
}
}
}