package org.romaframework.module.mail.javamail;
import java.util.ArrayList;
import java.util.List;
import javax.mail.Message.RecipientType;
import javax.mail.MessagingException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class MailHelper {
public static void setRecipients(MimeMessage iContainer, Object iRecipients, RecipientType iType) throws MessagingException {
if (iRecipients != null) {
iContainer.setRecipients(iType, setAddressesFromList(iRecipients));
}
}
public static void setFromRecipient(MimeMessage iContainer, String iRecipient) throws MessagingException {
iContainer.setFrom(new InternetAddress(iRecipient));
}
// private static InternetAddress[] setAddressesFromList(List<String> recipients) {
// InternetAddress addresses[] = new InternetAddress[recipients.size()];
// int i = 0;
// for (String recipient : recipients) {
// addresses[i] = new InternetAddress();
// addresses[i].setAddress(recipient);
// i++;
// }
// return addresses;
// }
private static InternetAddress[] setAddressesFromList(Object iRecipients) {
InternetAddress addresses[] = null;
if (iRecipients instanceof List<?>) {
List<String> recipients = (ArrayList<String>) iRecipients;
addresses = new InternetAddress[recipients.size()];
int i = 0;
for (String recipient : recipients) {
addresses[i] = new InternetAddress();
addresses[i].setAddress(recipient);
i++;
}
} else {
addresses = new InternetAddress[1];
addresses[0] = new InternetAddress();
addresses[0].setAddress(iRecipients.toString());
}
return addresses;
}
}