Я использую следующий код для отправки почты нескольким пользователям.Все работает нормально, когда все почтовые идентификаторы верны или реальны.Проблема возникает при неправильном идентификаторе почты.Я добавил исключение, но я ожидаю, что письмо будет отправлено другим пользователям, если указан только один почтовый идентификатор.
Любая помощь оценена.Мне нужно отправить всем пользователям одну и ту же почту.
public void sendEmail(
final Map<String, Object> model,
final String mailTemplate,
final List<User> toUsers,
final List<User> ccUsers,
final String attachedFilename,
final File attachedFile
)
{
subject = (String)model.get("subject");
if(subject==null)
subject = Constants.SFTA_DEFAULT_MAIL_SUBJECT;
if ((toUsers == null || toUsers.size() == 0)
&& (ccUsers == null || ccUsers.size() == 0))
return;
MimeMessagePreparator messagePreparator = new MimeMessagePreparator()
{
public void prepare(MimeMessage mimeMessage) throws Exception {
boolean multipartMode = false;
if ((attachedFilename!=null)
&& (attachedFilename.length()>0)
&& (attachedFile!=null) )
multipartMode = true;
MimeMessageHelper message = new MimeMessageHelper(mimeMessage,multipartMode);
message.setFrom(from);
message.setTo(getInternetAddress(toUsers));
if (ccUsers!=null)
{
List<User> ccFinalUsers = new ArrayList<User>();
for(User user:ccUsers)
{
if(user.getIsActive().equals("Y"))
ccFinalUsers.add(user);
if(user.equals(toUsers.get(0)))
ccFinalUsers.remove(user);
}
message.setCc(getInternetAddress(ccFinalUsers));
}
message.setSubject(subject);
message.setSentDate(new Date());
if ( multipartMode )
message.addAttachment(attachedFilename,attachedFile);
String text = VelocityEngineUtils.mergeTemplateIntoString(
velocityEngine, mailTemplate, model );
message.setText(text, true);
}
};
try {
mailSender.send(messagePreparator);
} catch (Exception e) {
e.printStackTrace();
}
}