propiedades - Enviar correo a múltiples destinatarios en java
textarea java netbeans (10)
Quiero enviar un mensaje a múltiples destinatarios utilizando el siguiente método:
message.addRecipient(Message.RecipientType.TO, String arg1);
O
message.setRecipients(Message.RecipientType.TO,String arg1);
Pero una confusión es que en el Segundo argumento, Cómo pasar múltiples direcciones como:
message.addRecipient(Message.RecipientType.CC, "abc@abc.com,abc@def.com,ghi@abc.com");
O
message.addRecipient(Message.RecipientType.CC, "abc@abc.com;abc@def.com;ghi@abc.com");
También puedo enviar mensajes usando métodos alternativos, pero quiero saber el propósito del método anterior. Si no puedo usarlo (como hasta ahora no tengo ninguna respuesta para el requisito anterior), ¿cuál es la necesidad de que este método esté en la API de correo?
Así que ... tardaron muchos meses, pero aún así ... Puede enviar un correo electrónico a varios destinatarios utilizando '','' como separador y
message.setRecipients(Message.RecipientType.CC, "abc@abc.com,abc@def.com,ghi@abc.com");
esta bien Al menos en JavaMail 1.4.5
Hola a todos, este código funciona para mí, por favor, intente esto para enviar correo a múltiples destinatarios.
private String recipient = "yamabs@gmail.com ,priya@gmail.com ";
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);
Intente de esta manera:
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("mail3@mail.com"));
String address = "mail@mail.com,mail2@mail.com";
InternetAddress[] iAdressArray = InternetAddress.parse(address);
message.setRecipients(Message.RecipientType.CC, iAdressArray);
InternetAddress.Parse será tu amigo! Vea el ejemplo trabajado abajo:
String to = "med@joe.com, maz@frank.com, jezz@jam.com";
String toCommaAndSpaces = "med@joe.com maz@frank.com, jezz@jam.com";
- Analizar una lista de direcciones de correo electrónico separadas por comas. Ser estricto. Requiere lista separada por comas.
Si estricto es cierto, se aplican muchas (pero no todas) las reglas de sintaxis de RFC822 para correos electrónicos.
msg.setRecipients(Message.RecipientType.CC, InternetAddress.parse(to, true));
Analizar coma / lista separada por espacios. Cortar un poco de holgura. También permitimos espacios separados en la lista, además de formatos de correo electrónico no válidos.
msg.setRecipients(Message.RecipientType.BCC, InternetAddress.parse(toCommaAndSpaces, false));
Puedes tener varias direcciones separadas por comas
if (cc.indexOf('','') > 0)
message.setRecipients(Message.RecipientType.CC, InternetAddress.parse(cc));
else
message.setRecipient(Message.RecipientType.CC, new InternetAddress(cc));
Puedes usar el número n de destinatario debajo del método:
String to[] = {"a@gmail.com"} //Mail id you want to send;
InternetAddress[] address = new InternetAddress[to.length];
for(int i =0; i< to.length; i++)
{
address[i] = new InternetAddress(to[i]);
}
msg.setRecipients(Message.RecipientType.TO, address);
Si desea enviar como Cc utilizando MimeMessageHelper
List<String> emails= new ArrayList();
email.add("email1");
email.add("email2");
for (String string : emails) {
message.addCc(string);
}
Lo mismo puedes usar para agregar varios destinatarios.
Si invoca addRecipient
varias veces, agregará el destinatario dado a la lista de destinatarios de la hora dada (TO, CC, BCC)
Por ejemplo:
message.addRecipient(Message.RecipientType.CC, InternetAddress.parse("abc@abc.com"));
message.addRecipient(Message.RecipientType.CC, InternetAddress.parse("abc@def.com"));
message.addRecipient(Message.RecipientType.CC, InternetAddress.parse("ghi@abc.com"));
Agregará las 3 direcciones a CC
Si desea agregar todas las direcciones a la vez, debe usar setRecipients
o addRecipients
y proporcionarle un conjunto de direcciones
Address[] cc = new Address[] {InternetAddress.parse("abc@abc.com"),
InternetAddress.parse("abc@def.com"),
InternetAddress.parse("ghi@abc.com")};
message.addRecipients(Message.RecipientType.CC, cc);
También puede usar InternetAddress.parse
para analizar una lista de direcciones
message.addRecipients(Message.RecipientType.CC,
InternetAddress.parse("abc@abc.com,abc@def.com,ghi@abc.com"));
Simplemente use el método message.setRecipients con varias direcciones separadas por comas:
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("abc@abc.com,abc@def.com,ghi@abc.com"));
message.setRecipients(Message.RecipientType.CC, InternetAddress.parse("abc@abc.com,abc@def.com,ghi@abc.com"));
funciona bien con una sola dirección también
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("abc@abc.com"));
String[] mailAddressTo = new String[3];
mailAddressTo[0] = emailId_1;
mailAddressTo[1] = emailId_2;
mailAddressTo[2] = "xyz@gmail.com";
InternetAddress[] mailAddress_TO = new InternetAddress[mailAddressTo.length];
for (int i = 0; i < mailAddressTo.length; i++)
{
mailAddress_TO[i] = new InternetAddress(mailAddressTo[i]);
}
message.addRecipients(Message.RecipientType.TO, mailAddress_TO);ress_TO = new InternetAddress[mailAddressTo.length];