List of usage examples for org.springframework.mail MailSendException getMessageExceptions
public final Exception[] getMessageExceptions()
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); } }