Send Mail to multiple Recipients in java
Solution 1:
If you invoke addRecipient
multiple times it will add the given recipient to the list of recipients of the given time (TO, CC, BCC)
For example:
message.addRecipient(Message.RecipientType.CC, InternetAddress.parse("[email protected]"));
message.addRecipient(Message.RecipientType.CC, InternetAddress.parse("[email protected]"));
message.addRecipient(Message.RecipientType.CC, InternetAddress.parse("[email protected]"));
Will add the 3 addresses to CC
If you wish to add all addresses at once you should use setRecipients
or addRecipients
and provide it with an array of addresses
Address[] cc = new Address[] {InternetAddress.parse("[email protected]"),
InternetAddress.parse("[email protected]"),
InternetAddress.parse("[email protected]")};
message.addRecipients(Message.RecipientType.CC, cc);
You can also use InternetAddress.parse
to parse a list of addresses
message.addRecipients(Message.RecipientType.CC,
InternetAddress.parse("[email protected],[email protected],[email protected]"));
Solution 2:
Hi every one this code is workin for me please try with this for sending mail to multiple recepients
private String recipient = "[email protected] ,[email protected] ";
String[] recipientList = recipient.split(",");
InternetAddress[] recipientAddress = new InternetAddress[recipientList.length];
int counter = 0;
for (String recipient : recipientList) {
recipientAddress[counter] = new InternetAddress(recipient.trim());
counter++;
}
message.setRecipients(Message.RecipientType.TO, recipientAddress);
Solution 3:
Just use the method message.setRecipients with multiple addresses separated by commas:
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("[email protected],[email protected],[email protected]"));
message.setRecipients(Message.RecipientType.CC, InternetAddress.parse("[email protected],[email protected],[email protected]"));
works fine with only one address too
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("[email protected]"));
Solution 4:
Try this way:
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("[email protected]"));
String address = "[email protected],[email protected]";
InternetAddress[] iAdressArray = InternetAddress.parse(address);
message.setRecipients(Message.RecipientType.CC, iAdressArray);
Solution 5:
You can have multiple addresses separated by comma
if (cc.indexOf(',') > 0)
message.setRecipients(Message.RecipientType.CC, InternetAddress.parse(cc));
else
message.setRecipient(Message.RecipientType.CC, new InternetAddress(cc));