【发布时间】:2015-01-08 03:06:28
【问题描述】:
电子邮件仅发送到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);
}
【问题讨论】:
-
假设调用了正确的方法(
setTo(String[])之一)它应该可以正常工作。我不明白为什么您要在此方法中设置会话属性和主机,这应该在配置中。