it-swarm.com.de

So senden Sie im Frühjahr eine E-Mail an mehrere Empfänger

Die E-Mail wird nur an die letzte E-Mail-Adresse im String[] to-Array gesendet. Ich möchte an alle E-Mail-Adressen senden, die dem Array hinzugefügt wurden. Wie kann ich das schaffen?

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);
}
10
Program-Me-Rev

Verwenden Sie eine durch Kommas getrennte Liste von Adressen:

helper.setTo(to1,to2,to3....);
14
Jens

Besser ist es, ein Array zu erstellen, das die Adresse mehrerer Empfänger enthält.

    MimeMessageHelper helper = new MimeMessageHelper( message, true );
    helper.setTo( String[] to );
5
Surya Nair

Sie können dies anstelle von versuchen 

helper.setTo(to);

String multipleEmailIds = "[email protected], [email protected]"
mimeMsg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(multipleEmailIds ));
1
Sreenath S

versuchen Sie es einfach so.

helper.setTo(InternetAddress.parse("[email protected],[email protected]")) 
0
Sree

Ich denke, ein besserer Ansatz besteht darin, das Attribut "to" als Array in der Datei spring.xml zu definieren, Werte zu übergeben und die Methode setTo(string[]) zu verwenden, wie von Deinum im Kommentar vorgeschlagen. Prozess ist "to" in der XML-Datei als 

<property name="to">
    <array>
    <value>[email protected]</value>
    <value>[email protected]</value>
    </array>
</property>

Generieren Sie nun eine Getter-Setter-Methode für dieses Array, die die Adresse mehrerer Empfänger enthält, und übergeben Sie sie an die setTo(String[])-Methode als: -

helper.setTo(to);
0
Er.Naved Ali