Example usage for org.springframework.mail MailSendException getMessageExceptions

List of usage examples for org.springframework.mail MailSendException getMessageExceptions

Introduction

In this page you can find the example usage for org.springframework.mail MailSendException getMessageExceptions.

Prototype

public final Exception[] getMessageExceptions() 

Source Link

Document

Return an array with thrown message exceptions.

Usage

From source file:net.groupbuy.controller.admin.SettingController.java

/**
 * //from   ww  w  . j  a  v a  2s  .  co m
 */
@RequestMapping(value = "/mail_test", method = RequestMethod.POST)
public @ResponseBody Message mailTest(String smtpFromMail, String smtpHost, Integer smtpPort,
        String smtpUsername, String smtpPassword, String toMail) {
    if (StringUtils.isEmpty(toMail)) {
        return ERROR_MESSAGE;
    }
    Setting setting = SettingUtils.get();
    if (StringUtils.isEmpty(smtpPassword)) {
        smtpPassword = setting.getSmtpPassword();
    }
    try {
        if (!isValid(Setting.class, "smtpFromMail", smtpFromMail)
                || !isValid(Setting.class, "smtpHost", smtpHost)
                || !isValid(Setting.class, "smtpPort", smtpPort)
                || !isValid(Setting.class, "smtpUsername", smtpUsername)) {
            return ERROR_MESSAGE;
        }
        mailService.sendTestMail(smtpFromMail, smtpHost, smtpPort, smtpUsername, smtpPassword, toMail);
    } catch (MailSendException e) {
        Exception[] messageExceptions = e.getMessageExceptions();
        if (messageExceptions != null) {
            for (Exception exception : messageExceptions) {
                if (exception instanceof SMTPSendFailedException) {
                    SMTPSendFailedException smtpSendFailedException = (SMTPSendFailedException) exception;
                    Exception nextException = smtpSendFailedException.getNextException();
                    if (nextException instanceof SMTPSenderFailedException) {
                        return Message.error("admin.setting.mailTestSenderFailed");
                    }
                } else if (exception instanceof MessagingException) {
                    MessagingException messagingException = (MessagingException) exception;
                    Exception nextException = messagingException.getNextException();
                    if (nextException instanceof UnknownHostException) {
                        return Message.error("admin.setting.mailTestUnknownHost");
                    } else if (nextException instanceof ConnectException) {
                        return Message.error("admin.setting.mailTestConnect");
                    }
                }
            }
        }
        return Message.error("admin.setting.mailTestError");
    } catch (MailAuthenticationException e) {
        return Message.error("admin.setting.mailTestAuthentication");
    } catch (Exception e) {
        return Message.error("admin.setting.mailTestError");
    }
    return Message.success("admin.setting.mailTestSuccess");
}

From source file:org.appverse.web.framework.backend.api.services.integration.impl.live.MailIntegrationServiceImpl.java

@Override
@SuppressWarnings("unchecked")
public void sendMail(String from, String[] to, String[] copyTo, String subject, String templateLocation,
        Map model) throws Exception {
    MimeMessage message = mailSender.createMimeMessage();
    MimeMessageHelper helper = new MimeMessageHelper(message, true);
    helper.setFrom(from);/*from  ww w  .j  a  v a  2  s .  c o m*/
    helper.setTo(to);
    if (copyTo != null) {
        helper.setCc(copyTo);
    }
    helper.setSubject(subject);
    String text = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, ENCODING, templateLocation,
            model);
    helper.setText(text, true);
    try {
        this.mailSender.send(message);
    } catch (MailSendException sendMailException) {
        Exception[] messageExceptions = sendMailException.getMessageExceptions();
        for (Exception messageException : messageExceptions) {
            if (messageException instanceof SendFailedException) {
                SendFailedException sendFailedException = (SendFailedException) messageException;
                if (sendFailedException.getMessage().equals(INVALID_ADDRESSES)) {
                    Address[] invalidAddresses = sendFailedException.getInvalidAddresses();
                    List<String> invalidAddressList = new ArrayList<String>();
                    for (Address invalidAddress : invalidAddresses) {
                        String invalidAddressString = invalidAddress.toString();
                        invalidAddressList.add(invalidAddressString);
                    }
                    List<String> validToAdressesList = new ArrayList<String>();
                    if (to != null && to.length > 0) {
                        for (String address : to) {
                            if (!invalidAddressList.contains(address)) {
                                validToAdressesList.add(address);
                            }
                        }
                    }

                    List<String> validCopyToAdressesList = new ArrayList<String>();
                    if (copyTo != null && copyTo.length > 0) {
                        for (String address : copyTo) {
                            if (!invalidAddressList.contains(address)) {
                                validCopyToAdressesList.add(address);
                            }
                        }
                    }

                    String[] validToAdressesArray = new String[validToAdressesList.size()];
                    validToAdressesList.toArray(validToAdressesArray);
                    helper.setTo(validToAdressesList.toArray(validToAdressesArray));

                    String[] validCopyToAdressesArray = new String[validCopyToAdressesList.size()];
                    validCopyToAdressesList.toArray(validCopyToAdressesArray);
                    helper.setCc(validCopyToAdressesList.toArray(validCopyToAdressesArray));
                    for (String invalidAddress : invalidAddressList) {
                        logger.error("Mail not sended to " + invalidAddress + "due its a invalid address");
                    }
                    this.mailSender.send(message);
                }
            }
        }
    }
}

From source file:org.appverse.web.framework.backend.api.services.integration.impl.live.MailIntegrationServiceImpl.java

@SuppressWarnings("unchecked")
@Override//from  w  w w  . java2 s.  c  om
public void sendMail(String from, String[] to, String[] copyTo, String subject, String templateLocation,
        Map model, ArrayList<AttachmentDTO> attachments) throws Exception {
    MimeMessage message = mailSender.createMimeMessage();
    MimeMessageHelper helper = new MimeMessageHelper(message, true);
    helper.setFrom(from);
    helper.setTo(to);
    if (copyTo != null) {
        helper.setCc(copyTo);
    }
    helper.setSubject(subject);
    String text = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, ENCODING, templateLocation,
            model);
    helper.setText(text, true);
    for (AttachmentDTO attachmentDTO : attachments) {
        helper.addAttachment(attachmentDTO.getAttachmentName(), attachmentDTO.getAttachment());
    }
    try {
        this.mailSender.send(message);
    } catch (MailSendException sendMailException) {
        Exception[] messageExceptions = sendMailException.getMessageExceptions();
        for (Exception messageException : messageExceptions) {
            if (messageException instanceof SendFailedException) {
                SendFailedException sendFailedException = (SendFailedException) messageException;
                if (sendFailedException.getMessage().equals(INVALID_ADDRESSES)) {
                    Address[] invalidAddresses = sendFailedException.getInvalidAddresses();
                    List<String> invalidAddressList = new ArrayList<String>();
                    for (Address invalidAddress : invalidAddresses) {
                        String invalidAddressString = invalidAddress.toString();
                        invalidAddressList.add(invalidAddressString);
                    }
                    List<String> validToAdressesList = new ArrayList<String>();
                    if (to != null && to.length > 0) {
                        for (String address : to) {
                            if (!invalidAddressList.contains(address)) {
                                validToAdressesList.add(address);
                            }
                        }
                    }

                    List<String> validCopyToAdressesList = new ArrayList<String>();
                    if (copyTo != null && copyTo.length > 0) {
                        for (String address : copyTo) {
                            if (!invalidAddressList.contains(address)) {
                                validCopyToAdressesList.add(address);
                            }
                        }
                    }

                    String[] validToAdressesArray = new String[validToAdressesList.size()];
                    validToAdressesList.toArray(validToAdressesArray);
                    helper.setTo(validToAdressesList.toArray(validToAdressesArray));

                    String[] validCopyToAdressesArray = new String[validCopyToAdressesList.size()];
                    validCopyToAdressesList.toArray(validCopyToAdressesArray);
                    helper.setCc(validCopyToAdressesList.toArray(validCopyToAdressesArray));
                    for (String invalidAddress : invalidAddressList) {
                        logger.error("Mail not sended to " + invalidAddress + "due its a invalid address");
                    }
                    this.mailSender.send(message);
                }
            }
        }
    }
}

From source file:com.sammyun.controller.console.SettingController.java

/**
 * /*from ww  w  .ja  va2s. c  o m*/
 */
@RequestMapping(value = "/mail_test", method = RequestMethod.POST)
public @ResponseBody Message mailTest(String smtpFromMail, String smtpHost, Integer smtpPort,
        String smtpUsername, String smtpPassword, String toMail) {
    if (StringUtils.isEmpty(toMail)) {
        return ERROR_MESSAGE;
    }
    Setting setting = SettingUtils.get();
    if (StringUtils.isEmpty(smtpPassword)) {
        // smtpPassword = setting.getSmtpPassword();
    }
    try {
        if (!isValid(Setting.class, "smtpFromMail", smtpFromMail)
                || !isValid(Setting.class, "smtpHost", smtpHost)
                || !isValid(Setting.class, "smtpPort", smtpPort)
                || !isValid(Setting.class, "smtpUsername", smtpUsername)) {
            return ERROR_MESSAGE;
        }
    } catch (MailSendException e) {
        Exception[] messageExceptions = e.getMessageExceptions();
        if (messageExceptions != null) {
            for (Exception exception : messageExceptions) {
                if (exception instanceof SMTPSendFailedException) {
                    SMTPSendFailedException smtpSendFailedException = (SMTPSendFailedException) exception;
                    Exception nextException = smtpSendFailedException.getNextException();
                    if (nextException instanceof SMTPSenderFailedException) {
                        return Message.error("console.setting.mailTestSenderFailed");
                    }
                } else if (exception instanceof MessagingException) {
                    MessagingException messagingException = (MessagingException) exception;
                    Exception nextException = messagingException.getNextException();
                    if (nextException instanceof UnknownHostException) {
                        return Message.error("console.setting.mailTestUnknownHost");
                    } else if (nextException instanceof ConnectException) {
                        return Message.error("console.setting.mailTestConnect");
                    }
                }
            }
        }
        return Message.error("console.setting.mailTestError");
    } catch (MailAuthenticationException e) {
        return Message.error("console.setting.mailTestAuthentication");
    } catch (Exception e) {
        return Message.error("console.setting.mailTestError");
    }
    return Message.success("admin.setting.mailTestSuccess");
}

From source file:hornet.framework.mail.MailServiceImpl.java

/**
 * Converti l'exception fourni en {@link BusinessException}.
 *
 * @param mse//  w  w  w  . j  av  a 2s  .co  m
 *            MailSendException
 * @return Une {@link BusinessException}
 */
protected BusinessException toBusinessException(final MailSendException mse) {

    MailServiceImpl.LOG.debug("Conversion d'une erreur d'envoi de courriel");

    final List<String> adressesInvalides = new ArrayList<String>();
    for (final Exception exception : mse.getMessageExceptions()) {
        if (exception instanceof SendFailedException) {
            final SendFailedException sendFailedEx = (SendFailedException) exception;
            for (final Address adresseInvalide : sendFailedEx.getInvalidAddresses()) {
                adressesInvalides.add(adresseInvalide.toString());
                MailServiceImpl.LOG.debug(String.format("adresse invalide : %s", adresseInvalide));
            }
        } else if (exception instanceof AuthenticationFailedException) {
            final AuthenticationFailedException authenticationFailedEx = (AuthenticationFailedException) exception;
            return new BusinessException("erreur.envoi.courriel.authentification", authenticationFailedEx);
        }
    }

    if (adressesInvalides.isEmpty()) {
        return new BusinessException("erreur.envoi.courriel", mse);
    } else {
        return new BusinessException("erreur.envoi.courriel.addressesInvalides",
                new String[] { StringUtils.join(adressesInvalides, ", ") }, mse);
    }
}