Pro*_*Rev 18 java email spring
电子邮件只会发送到String[] to阵列中的最后一个电子邮件地址.我打算发送到添加到阵列的所有电子邮件地址.我怎样才能做到这一点?
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);
}
Run Code Online (Sandbox Code Playgroud)
Jen*_*ens 22
使用以逗号分隔的地址列表:
helper.setTo(InternetAddress.parse("email1@test.com,email2@test.com"))
helper.setTo(new String[]{"email1@test.com", "email2@test.com"});
Run Code Online (Sandbox Code Playgroud)
小智 6
更好的方法是创建一个包含多个收件人地址的数组.
MimeMessageHelper helper = new MimeMessageHelper( message, true );
helper.setTo( String[] to );
Run Code Online (Sandbox Code Playgroud)
小智 6
将所有电子邮件 ID 添加到 String[] 数组中
public String[] sendEmailIds() {
String[] emailIds = new String[4];
emailIds[0] = "abc@mail.com";
emailIds[1] = "deg@mail.com";
emailIds[2] = "sgh@mail.com";
emailIds[3] = "hht@mail.com";
return emailIds;
}
SimpleMailMessage mailMessage = new SimpleMailMessage();
mailMessage.setTo(sendEmailIds());
mailMessage.setSubject(subject);
mailMessage.setText(message);
mailMessage.setFrom(fromEmailAddress);
javaMailSender.send(mailMessage);
Run Code Online (Sandbox Code Playgroud)
就这样尝试一下。
helper.setTo(InternetAddress.parse("email1@test.com,email2@test.com"))
Run Code Online (Sandbox Code Playgroud)