如何从javax.mail.internet.MimeMessage重置收件人列表

时间:2014-09-19 06:45:43

标签: java email javamail

我有一个场景,我需要向发件人发送批量电子邮件。我一次只能发10封邮件。 所以我将所有邮件内容设置为变量,然后一次只添加十个收件人。 然后在我发送电子邮件后,我再次添加十个下一个收据。

private void addRecipients(Message pMessage, List pRecipients, Message.RecipientType pType, int pNum, int pOffset, int pBulkSize){
for (int i = 0; i < pRecipients.size(); i++) {
        int offset = pNum + i;
        if (pBulkSize != 0 && (offset < pOffset || offset >= pOffset + pBulkSize)) {
            continue;
        }
Address a;
Object r = pRecipients.get(i);
pMessage.addRecipient(pType, a);
}

但问题是我无法从变量中删除最后十个收据。

Transport.send(message);

在此行之后,我的循环重新启动,并再次调用addRecipients方法。但现在是对象

MimeMessage message = getIntialEmailConfiguration();

消息也有以前的收件人。

我想知道如何重置该属性并删除现有收件人。

1 个答案:

答案 0 :(得分:2)

使用Message.setRecipients删除并应用多个地址。

您的代码示例将无法编译,因为“地址a”永远不会分配值。