L'e-mail ne sera envoyé qu'à la dernière adresse e-mail du tableau String[] to
. J'ai l'intention d'envoyer à toutes les adresses électroniques ajoutées au tableau. Comment puis-je faire ce travail?
public void sendMail(String from, String[] to, String subject, String msg, List attachments) throws MessagingException {
// Creating message
sender.setHost("smtp.gmail.com");
MimeMessage mimeMsg = sender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMsg, true);
Properties props = new Properties();
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "425");
Session session = Session.getDefaultInstance(props, null);
helper.setFrom(from);
helper.setTo(to);
helper.setSubject(subject);
helper.setText(msg + "<html><body><h1>hi welcome</h1><body></html", true);
Iterator it = attachments.iterator();
while (it.hasNext()) {
FileSystemResource file = new FileSystemResource(new File((String) it.next()));
helper.addAttachment(file.getFilename(), file);
}
// Sending message
sender.send(mimeMsg);
}
Utilisez une liste d'adresses séparées par des virgules:
helper.setTo(to1,to2,to3....);
La meilleure approche consiste à créer un tableau contenant l'adresse de plusieurs destinataires.
MimeMessageHelper helper = new MimeMessageHelper( message, true );
helper.setTo( String[] to );
Vous pouvez essayer cela, au lieu de
helper.setTo(to);
String multipleEmailIds = "[email protected], [email protected]"
mimeMsg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(multipleEmailIds ));
essayez juste comme ça.
helper.setTo(InternetAddress.parse("[email protected],[email protected]"))
Je pense que la meilleure approche consiste à déclarer "to" attribuer comme tableau dans le fichier spring.xml, transmettre les valeurs et utiliser la méthode setTo(string[])
comme suggéré par Deinum dans le commentaire. Le processus est défini comme "to" dans le fichier XML comme
<property name="to">
<array>
<value>[email protected]</value>
<value>[email protected]</value>
</array>
</property>
Maintenant, générez la méthode getter setter pour ce tableau contenant l’adresse de plusieurs destinataires et transmettez-la à la méthode setTo(String[])
en tant que: -
helper.setTo(to);