3 回答
TA贡献1871条经验 获得超13个赞
这是一个字符串,由以下部分分隔的电子邮件ID组成:toAddress,
if (toAddress!= null) {
List<String> emails = new ArrayList<>();
if (toAddress.contains(",")) {
emails.addAll(Arrays.asList(toAddress.split(",")));
} else {
emails.add(toAddress);
}
Address[] to = new Address[emails.size()];
int counter = 0;
for(String email : emails) {
to[counter] = new InternetAddress(email.trim());
counter++;
}
message.setRecipients(Message.RecipientType.TO, to);
}
TA贡献2021条经验 获得超8个赞
根据你的描述,我假设参数可以有多个值。因此是错误的。email-ids
String recipient = request.getParameter("email-ids");
我将引用ServletRequest.getParamter(String)
上的Javadoc(由我强调):
仅当确定参数只有一个值时,才应使用此方法。如果参数可能有多个值,请使用 。
getParameterValues
所以它应该是相反的。(您也可以尝试拆分代码中获得的单个字符串,但如果您已经获得了多个值,那么再次连接并拆分它们只会感觉错误且有风险。String[] recipients = request.getParameterValues("email-ids");
有了这些单独的字符串,为已经在使用的数组创建多个元素应该没有问题。InternetAddress[] toAddresses
添加回答
举报