List of usage examples for org.springframework.mail.javamail MimeMessageHelper addAttachment
public void addAttachment(String attachmentFilename, InputStreamSource inputStreamSource) throws MessagingException
From source file:edu.mum.emailservice.EmailService.java
public void sendOrderReceivedMail(final String recipientName, final String recipientEmail, Order order, String documentName, final Locale locale) throws MessagingException { // Prepare the evaluation context final Context thymeContext = new Context(locale); thymeContext.setVariable("name", recipientName); thymeContext.setVariable("order", order); // Prepare message using a Spring helper final MimeMessage mimeMessage = this.mailSender.createMimeMessage(); final MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true, "UTF-8"); message.setSubject("Order Details"); // could have CC, BCC, will also take an array of Strings message.setTo(recipientEmail);// w ww . j a v a 2 s . c o m // Create the HTML body using Thymeleaf final String htmlContent = this.templateEngine.process("orderReceivedMail", thymeContext); message.setText(htmlContent, true /* isHtml */); message.addInline("imtheguy", new ClassPathResource(IM_THE_GUY), JPG_MIME); String documentLocation = "templates/images/" + documentName; message.addAttachment(documentName, new ClassPathResource(documentLocation)); /* // Alternative File file = new File(documentLocation); message.addAttachment(documentName, file); */ // Send email this.mailSender.send(mimeMessage); }
From source file:gov.nih.nci.cabig.caaers.tools.mail.CaaersJavaMailSender.java
/** * This method is used to send an email/*from w w w . j a va2 s. com*/ */ public void sendMail(String[] to, String[] cc, String subject, String content, String[] attachmentFilePaths) { if (to == null || to.length == 0 || to[0] == null) { return; } try { MimeMessage message = createMimeMessage(); message.setSubject(subject); // use the true flag to indicate you need a multipart message MimeMessageHelper helper = new MimeMessageHelper(message, true); helper.setTo(to); if (cc != null && cc.length > 0) { helper.setCc(cc); } helper.setText(content); for (String attachmentPath : attachmentFilePaths) { if (StringUtils.isNotEmpty(attachmentPath)) { File f = new File(attachmentPath); FileSystemResource file = new FileSystemResource(f); helper.addAttachment(file.getFilename(), file); } } send(message); } catch (Exception e) { if (SUPRESS_MAIL_SEND_EXCEPTION) return; //supress the excetion related to email sending throw new CaaersSystemException("Error while sending email to " + to[0], e); } }
From source file:net.maritimecloud.identityregistry.utils.EmailUtil.java
public void sendBugReport(BugReport report) throws MailException, MessagingException { MimeMessage message = this.mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true); helper.setTo(bugReportEmail);/*from ww w . j a v a 2 s .c o m*/ helper.setFrom(from); helper.setSubject(report.getSubject()); helper.setText(report.getDescription()); if (report.getAttachments() != null) { for (BugReportAttachment attachment : report.getAttachments()) { // Decode base64 encoded data byte[] data = Base64.getDecoder().decode(attachment.getData()); ByteArrayDataSource dataSource = new ByteArrayDataSource(data, attachment.getMimetype()); helper.addAttachment(attachment.getName(), dataSource); } } 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. j a v a 2s.co m*/ 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:net.bafeimao.umbrella.web.test.MailTests.java
@Test public void testSendMailWithAttachedImage() throws MessagingException { // ?,???html//from ww w.j av a 2 s . c o m MimeMessage mailMessage = senderImpl.createMimeMessage(); // ?boolean,?MimeMessageHelpertrue? // multipart? true?? ?html? MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage, true, "utf-8"); // messageHelper.setTo("29283212@qq.com"); messageHelper.setFrom("29283212@qq.com"); messageHelper.setSubject("!?"); // true ?HTML? messageHelper.setText( "<html><head></head><body><h1>?</h1></body></html>", true); FileSystemResource file = new FileSystemResource(new File(imagePath)); // ??? messageHelper.addAttachment("image", file); // ?? senderImpl.send(mailMessage); System.out.println("???.."); }
From source file:com.gcrm.util.mail.MailService.java
public void sendHtmlMail(String from, String[] to, String subject, String text, String[] fileNames, File[] files) throws Exception { List<EmailSetting> emailSettings = baseService.getAllObjects(EmailSetting.class.getSimpleName()); EmailSetting emailSetting = null;/*from ww w . ja v a 2 s . c om*/ if (emailSettings != null && emailSettings.size() > 0) { emailSetting = emailSettings.get(0); } else { return; } if (from == null) { from = emailSetting.getFrom_address(); } Session mailSession = createSmtpSession(emailSetting); if (mailSession != null) { Transport transport = mailSession.getTransport(); MimeMessage msg = new MimeMessage(mailSession); MimeMessageHelper helper = new MimeMessageHelper(msg, true, "utf-8"); helper.setFrom(from); helper.setTo(to); helper.setSubject(subject); helper.setText(text, true); if (fileNames != null && files != null) { String fileName = null; File file = null; for (int i = 0; i < fileNames.length; i++) { fileName = fileNames[i]; file = files[i]; if (fileName != null && file != null) { helper.addAttachment(fileName, file); } } } transport.connect(); transport.sendMessage(msg, msg.getRecipients(Message.RecipientType.TO)); } }
From source file:org.jasig.portlet.blackboardvcportlet.service.impl.MailTemplateServiceImpl.java
public void sendMail(final MailTask mt) { try {// w w w . ja v a2 s . c o m MimeMessagePreparator messagePreparator = new MimeMessagePreparator() { public void prepare(MimeMessage mimeMessage) throws Exception { MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true); if (mt.getMeetingInvite() != null) { CalendarOutputter outputter = new CalendarOutputter(); ByteArrayOutputStream os = new ByteArrayOutputStream(); outputter.setValidating(false); outputter.output(mt.getMeetingInvite(), os); message.addAttachment("invite.ics", new ByteArrayResource(os.toByteArray())); } message.setFrom(mt.getFrom() != null ? mt.getFrom() : defaultFromAddress); if (mt.getTo() != null) { String[] toArray = mt.getTo().toArray(new String[mt.getTo().size()]); message.setTo(toArray); } if (mt.getSubject() != null) { message.setSubject(mt.getSubject()); } else { switch (mt.getTemplate()) { case MODERATOR: message.setSubject(moderatorSubject); break; case INTERNAL_PARTICIPANT: message.setSubject(internalParticipantSubject); break; case EXTERNAL_PARTICIPANT: message.setSubject(externalParticipantSubject); break; case SESSION_DELETION: message.setSubject(sessionDeletionSubject); break; default: message.setSubject(""); } } message.setText(buildEmailMessage(mt), false); } }; mailSender.send(messagePreparator); } catch (Exception e) { logger.error("Issue with sending email", e); } }
From source file:eu.openanalytics.rsb.component.EmailDepositHandler.java
public void handleResult(final MultiFilesResult result) throws MessagingException, IOException { final Serializable responseBody = result.getMeta().get(EMAIL_BODY_META_NAME); final String responseText = responseBody instanceof File ? FileUtils.readFileToString((File) responseBody) : responseBody.toString();// w ww.ja v a2 s . c o m final MimeMessage mimeMessage = mailSender.createMimeMessage(); final MimeMessageHelper mmh = new MimeMessageHelper(mimeMessage, true); mmh.setFrom((String) result.getMeta().get(EMAIL_ADDRESSEE_META_NAME)); mmh.setTo((String) result.getMeta().get(EMAIL_REPLY_TO_META_NAME)); mmh.setCc((String[]) result.getMeta().get(EMAIL_REPLY_CC_META_NAME)); mmh.setSubject("RE: " + result.getMeta().get(EMAIL_SUBJECT_META_NAME)); if (result.isSuccess()) { mmh.setText(responseText); for (final File resultFile : result.getPayload()) { mmh.addAttachment(resultFile.getName(), resultFile); } } else { mmh.setText(FileUtils.readFileToString(result.getPayload()[0])); } final Message<MimeMailMessage> message = new GenericMessage<MimeMailMessage>(new MimeMailMessage(mmh)); outboundEmailChannel.send(message); }
From source file:no.dusken.common.control.MailController.java
/** * * @param mail the mail part of the mail * @param model other things that should be in the mail. * @param template - the path to the velocitytemplate to use (mail/template.vm) *///from w ww . j a va 2 s.c o m public void sendEmail(final Mail mail, final Map model, final String template) { final Map<String, Object> map = new HashMap<String, Object>(); if (model != null) { map.putAll(model); } MimeMessagePreparator preparator = new MimeMessagePreparator() { public void prepare(MimeMessage mimeMessage) throws Exception { MimeMessageHelper message = new MimeMessageHelper(mimeMessage); message.setTo(mail.getToAddress()); if (mail.getFromAddress() == null || mail.getFromAddress().equals("")) { mail.setFromAddress(defaultSenderAddress); } message.setFrom(mail.getFromAddress()); message.setSubject(mail.getSubject()); map.put("mail", mail); String text = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, template, map); message.setText(text, false); if (mail.getAttachment() != null) { FileSystemResource res = new FileSystemResource(mail.getAttachment()); message.addAttachment(mail.getAttachment().getName(), res); } } }; this.mailSender.send(preparator); }
From source file:mx.edu.um.mateo.rh.web.DependienteController.java
private void enviaCorreo(String tipo, List<Dependiente> dependientes, HttpServletRequest request) throws JRException, MessagingException { log.debug("Enviando correo {}", tipo); byte[] archivo = null; String tipoContenido = null;/* ww w . j a v a2s . com*/ switch (tipo) { case "PDF": archivo = generaPdf(dependientes); tipoContenido = "application/pdf"; break; case "CSV": archivo = generaCsv(dependientes); tipoContenido = "text/csv"; break; case "XLS": archivo = generaXls(dependientes); tipoContenido = "application/vnd.ms-excel"; } MimeMessage message = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true); String titulo = messageSource.getMessage("dependiente.lista.label", null, request.getLocale()); helper.setSubject(messageSource.getMessage("envia.correo.titulo.message", new String[] { titulo }, request.getLocale())); helper.setText(messageSource.getMessage("envia.correo.contenido.message", new String[] { titulo }, request.getLocale()), true); helper.addAttachment(titulo + "." + tipo, new ByteArrayDataSource(archivo, tipoContenido)); mailSender.send(message); }