我使用以下方法将电子邮件发送到用户列表。
我希望每封电子邮件中的(收件人)仅供用户使用,而非所有用户。 也就是说,用户看来电子邮件仅发送给他/她。 我的猜测是循环播放
message.addRecipients(Message.RecipientType.TO,address);
然后发送消息吧?但这是一个繁重的过程,多次发送电子邮件。 我该怎么办?
方法是:
try
{
Properties props = System.getProperties();
props.put("mail.smtp.host", "localhost");
// Get a mail session
Session session = Session.getDefaultInstance(props, null);
// Define a new mail message
Message message = new MimeMessage(session);
InternetAddress ia = new InternetAddress();
ia.setPersonal("MySite");
ia.setAddress(from);
message.setFrom(ia);
Address[] address = new Address[recievers.size()];
for (int i = 0; i < recievers.size(); i++) {
address[i] = new InternetAddress(recievers.get(i));
}
message.addRecipients(Message.RecipientType.TO, address);
message.setSubject(subject);
// Create a message part to represent the body text
BodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setContent(body, "text/html");
// use a MimeMultipart as we need to handle the file attachments
Multipart multipart = new MimeMultipart();
// add the message body to the mime message
multipart.addBodyPart(messageBodyPart);
// Put all message parts in the message
message.setContent(multipart);
message.setSentDate(getCurrentDate());
// Send the message
Transport.send(message);
}
catch (Exception ex)
{
}
答案 0 :(得分:2)
向多个收件人发送电子邮件而不让每个收件人看到列表的最简单方法是使用BCC (blind carbon copy):
message.addRecipients(Message.RecipientType.BCC, address);
当每个收件人收到他们的消息时,他们只会看到自己的地址。 你仍然需要设置一个TO,但你可以使用一个固定的虚拟地址。 击>
或者你的意思是你想伪造每个收件人的发送时间?