Проблема с ошибочными адресами JavaMail

#jakarta-mail

#джакарта-почта

Вопрос:

Я использую следующий код для отправки писем нескольким пользователям. Все работает нормально, когда все идентификаторы почты правильные или реальные. Проблема возникает, когда указан неправильный почтовый идентификатор. Я добавил исключение, но я ожидаю, что почта будет отправлена другим пользователям, когда неверен только один почтовый идентификатор.

Приветствуется любая помощь. Мне нужно отправить всем пользователям одну и ту же почту.

 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) 
    amp;amp;  (ccUsers == null || ccUsers.size() == 0)) 
        return;

    MimeMessagePreparator messagePreparator = new MimeMessagePreparator() 
    {           
        public void prepare(MimeMessage mimeMessage) throws Exception {

            boolean multipartMode = false;
            if ((attachedFilename!=null) 
            amp;amp;  (attachedFilename.length()>0)
            amp;amp;  (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();
    }


}   
  

Ответ №1:

Установите mail.smtp.sendpartial свойство, описанное в javadocs пакета com.sun.mail.smtp