List of usage examples for org.springframework.mail.javamail MimeMessageHelper MimeMessageHelper
public MimeMessageHelper(MimeMessage mimeMessage, int multipartMode, @Nullable String encoding) throws MessagingException
From source file:org.icgc.dcc.release.client.mail.Mailer.java
private MimeMessage createMimeMessage(String subject, String text) throws MessagingException { val message = new MimeMessageHelper(mailSender.createMimeMessage(), true, UTF_8.name()); message.setSubject(subject);//ww w . ja v a2 s . c o m message.setText(text, true); message.setTo(mail.getRecipients()); message.addInline("logo", ICGC_LOGO, IMAGE_PNG_VALUE); return message.getMimeMessage(); }
From source file:org.wallride.service.UserService.java
public PasswordResetToken createPasswordResetToken(PasswordResetTokenCreateRequest request) { User user = userRepository.findOneByEmail(request.getEmail()); if (user == null) { throw new EmailNotFoundException(); }/*w ww . j a va2 s .co m*/ LocalDateTime now = LocalDateTime.now(); PasswordResetToken passwordResetToken = new PasswordResetToken(); passwordResetToken.setUser(user); passwordResetToken.setEmail(user.getEmail()); passwordResetToken.setExpiredAt(now.plusHours(24)); passwordResetToken.setCreatedAt(now); passwordResetToken.setCreatedBy(user.toString()); passwordResetToken.setUpdatedAt(now); passwordResetToken.setUpdatedBy(user.toString()); passwordResetToken = passwordResetTokenRepository.saveAndFlush(passwordResetToken); try { Blog blog = blogService.getBlogById(Blog.DEFAULT_ID); String blogTitle = blog.getTitle(LocaleContextHolder.getLocale().getLanguage()); ServletUriComponentsBuilder builder = ServletUriComponentsBuilder.fromCurrentContextPath(); if (blog.isMultiLanguage()) { builder.path("/{language}"); } builder.path("/password-reset"); builder.path("/{token}"); Map<String, Object> urlVariables = new LinkedHashMap<>(); urlVariables.put("language", request.getLanguage()); urlVariables.put("token", passwordResetToken.getToken()); String resetLink = builder.buildAndExpand(urlVariables).toString(); Context ctx = new Context(LocaleContextHolder.getLocale()); ctx.setVariable("passwordResetToken", passwordResetToken); ctx.setVariable("resetLink", resetLink); MimeMessage mimeMessage = mailSender.createMimeMessage(); MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true, "UTF-8"); // true = multipart message.setSubject(MessageFormat.format( messageSourceAccessor.getMessage("PasswordResetSubject", LocaleContextHolder.getLocale()), blogTitle)); message.setFrom(mailProperties.getProperties().get("mail.from")); message.setTo(passwordResetToken.getEmail()); String htmlContent = templateEngine.process("password-reset", ctx); message.setText(htmlContent, true); // true = isHtml mailSender.send(mimeMessage); } catch (MessagingException e) { throw new ServiceException(e); } return passwordResetToken; }
From source file:com.mobileman.projecth.business.impl.MailManagerImpl.java
/** * {@inheritDoc}/*from w w w . j av a 2s . c o m*/ * @see com.mobileman.projecth.business.MailManager#sendResetCredientialsEmail(User, String) */ @Override public void sendResetCredientialsEmail(final User user, final String serverDnsName) { if (log.isDebugEnabled()) { log.debug("sendResetCredientialsEmail(" + user.getId() + ", " + serverDnsName + ") - start"); } MimeMessagePreparator preparator = new MimeMessagePreparator() { @Override public void prepare(MimeMessage mimeMessage) throws Exception { if (log.isDebugEnabled()) { log.debug("$MimeMessagePreparator.prepare(MimeMessage) - start"); //$NON-NLS-1$ } MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true, EMAIL_ENCODING); messageHelper.setSentDate(new Date()); messageHelper.setTo(user.getUserAccount().getEmail()); messageHelper.setFrom("mitglied@projecth.com"); messageHelper.setSubject("Passwort zurcksetzen"); String tmpServerDnsName = serverDnsName; if (tmpServerDnsName == null || tmpServerDnsName.trim().length() == 0) { tmpServerDnsName = "projecth.de"; } Map<String, Object> model = new HashMap<String, Object>(); model.put("user", user); model.put("dns_server_name", tmpServerDnsName); String htmlMessage = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, "reset-credentials-email-body.vm", model); String textMessage = HTMLTextParser.htmlToText(htmlMessage); messageHelper.setText(textMessage, htmlMessage); if (log.isDebugEnabled()) { log.debug("$MimeMessagePreparator.prepare(MimeMessage) - returns"); //$NON-NLS-1$ } } }; this.mailSender.send(preparator); if (log.isDebugEnabled()) { log.debug("sendResetCredientialsEmail(" + user.getId() + ") - end"); } }
From source file:thymeleafexamples.springmail.service.EmailService.java
public void sendEditableMail(final String recipientName, final String recipientEmail, final String htmlContent, final Locale locale) throws MessagingException { // Prepare message using a Spring helper final MimeMessage mimeMessage = this.mailSender.createMimeMessage(); final MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true /* multipart */, "UTF-8"); message.setSubject("Example editable HTML email"); message.setFrom("thymeleaf@example.com"); message.setTo(recipientEmail);/*from ww w.j a v a 2 s .c o m*/ // FIXME: duplicated images in src/main/resources and src/main/webapp // Prepare the evaluation context final Context ctx = new Context(locale); ctx.setVariable("name", recipientName); ctx.setVariable("subscriptionDate", new Date()); ctx.setVariable("hobbies", Arrays.asList("Cinema", "Sports", "Music")); final StaticTemplateExecutor templateExecutor = new StaticTemplateExecutor(ctx, messageResolver, HTML5.getTemplateModeName()); final String output = templateExecutor.processTemplateCode(htmlContent); message.setText(output, true /* isHtml */); // Add the inline images, referenced from the HTML code as "cid:image-name" message.addInline("background", new ClassPathResource(BACKGROUND_IMAGE), PNG_MIME); message.addInline("logo-background", new ClassPathResource(LOGO_BACKGROUND_IMAGE), PNG_MIME); message.addInline("thymeleaf-banner", new ClassPathResource(THYMELEAF_BANNER_IMAGE), PNG_MIME); message.addInline("thymeleaf-logo", new ClassPathResource(THYMELEAF_LOGO_IMAGE), PNG_MIME); // Send mail this.mailSender.send(mimeMessage); }
From source file:gr.abiss.calipso.service.EmailService.java
@Async public void sendMailWithAttachment(final String recipientName, final String recipientEmail, final String attachmentFileName, final byte[] attachmentBytes, final String attachmentContentType, final Locale locale) throws MessagingException { // Prepare the evaluation context final Context ctx = new Context(locale); ctx.setVariable("name", recipientName); ctx.setVariable("subscriptionDate", new Date()); ctx.setVariable("hobbies", Arrays.asList("Cinema", "Sports", "Music")); // Prepare message using a Spring helper final MimeMessage mimeMessage = this.mailSender.createMimeMessage(); final MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true /* multipart */, "UTF-8"); message.setSubject("Example HTML email with attachment"); message.setFrom("thymeleaf@example.com"); message.setTo(recipientEmail);/*w w w .ja v a 2 s . co m*/ // Create the HTML body using Thymeleaf final String htmlContent = this.templateEngine.process("email-withattachment.html", ctx); LOGGER.info("Sending email body: " + htmlContent); message.setText(htmlContent, true /* isHtml */); // Add the attachment final InputStreamSource attachmentSource = new ByteArrayResource(attachmentBytes); message.addAttachment(attachmentFileName, attachmentSource, attachmentContentType); // Send mail this.mailSender.send(mimeMessage); }
From source file:com.hmsinc.epicenter.webapp.PasswordResetController.java
/** * @param token// w w w. j a v a 2 s . c o m * @param url */ private void sendPasswordResetEmail(final PasswordResetToken token, final String url) { final MimeMessagePreparator preparator = new MimeMessagePreparator() { public void prepare(MimeMessage mimeMessage) throws Exception { final EpiCenterUser user = token.getUser(); String encoding = "UTF-8"; final MimeMessageHelper message = new MimeMessageHelper(mimeMessage, MimeMessageHelper.MULTIPART_MODE_RELATED, encoding); message.setTo(user.getEmailAddress()); message.setFrom(applicationProperties.getProperty("epicenter.mail.from")); message.setSubject(mailSubject); final Map<String, Object> model = new HashMap<String, Object>(); model.put("url", url); model.put("username", user.getUsername()); model.put("token", token.getToken()); message.setText(VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, TEMPLATE_TEXT, model), VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, TEMPLATE_HTML, model)); } }; mailSender.send(preparator); }
From source file:com.rxx.common.util.MailUtil.java
/** * html/*w w w .ja v a2 s . c om*/ * * @param host * @param port * @param userName * @param password * @param title * @param contenthtml * @param fileslist<Map<key:,value:>> * @param toUser * @throws javax.mail.MessagingException */ public static void sendAttached(String host, int port, String userName, String password, String title, String content, List<Map<String, String>> files, String[] toUser) throws MessagingException, javax.mail.MessagingException { JavaMailSenderImpl senderImpl = new JavaMailSenderImpl(); // mail server senderImpl.setHost(host); // ,html MimeMessage mailMessage = senderImpl.createMimeMessage(); // boolean,MimeMessageHelpertrue // multipart true html MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage, true, "utf-8"); // messageHelper.setTo(toUser); messageHelper.setFrom(userName); messageHelper.setSubject(title); // true HTML messageHelper.setText(content, true); for (Map<String, String> filePath : files) { Iterator<String> it = filePath.keySet().iterator(); String fileName = it.next(); FileSystemResource file = new FileSystemResource(new File(filePath.get(fileName))); // messageHelper.addAttachment(fileName, file); } senderImpl.setUsername(userName); // ,username senderImpl.setPassword(password); // , password Properties prop = new Properties(); prop.put("mail.smtp.auth", "true"); // true, prop.put("mail.smtp.timeout", "25000"); senderImpl.setJavaMailProperties(prop); // senderImpl.send(mailMessage); }
From source file:eu.trentorise.smartcampus.citizenportal.service.EmailService.java
public String sendMailVLClassification(final String period, final String mailDate, final String protocolCode, final String recipientName, final String recipientAddress, final String recipientCity, final String recipientPhone, final String recipientEmail, final String practice_id, final String position, final String score, final String determinationCode, final String determinationDate, final String alboDate, final String expirationDate, final String phase, final String ef_period, final String ef_category, final String ef_tool, final String classificationUrl, final String respName, final String subject, final Locale locale, final MailImage logoImage, final MailImage footerImage, final int type) throws MessagingException { // Prepare the evaluation context final Context ctx = new Context(locale); ctx.setVariable("imagelogoMyweb", logoImage.getImageName()); ctx.setVariable("mailDate", mailDate); ctx.setVariable("period", period); ctx.setVariable("protCode", protocolCode); ctx.setVariable("name", recipientName); ctx.setVariable("address", recipientAddress); ctx.setVariable("city", recipientCity); ctx.setVariable("phone", recipientPhone); ctx.setVariable("detCode", determinationCode); ctx.setVariable("detDate", determinationDate); ctx.setVariable("alboDate", alboDate); ctx.setVariable("expDate", expirationDate); ctx.setVariable("practice_id", practice_id); ctx.setVariable("position", position); ctx.setVariable("score", score); ctx.setVariable("phase", phase); ctx.setVariable("ef_period", ef_period); ctx.setVariable("ef_category", ef_category); ctx.setVariable("ef_tool", ef_tool); ctx.setVariable("classification_url", classificationUrl); ctx.setVariable("respName", respName); ctx.setVariable("subscriptionDate", new Date()); //ctx.setVariable("hobbies", Arrays.asList("Cinema", "Sports", "Music")); ctx.setVariable("text", subject); ctx.setVariable("imagefooterVallag", footerImage.getImageName()); // Prepare message using a Spring helper final MimeMessage mimeMessage = this.mailSender.createMimeMessage(); final MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true /* multipart */, "UTF-8"); message.setSubject("Graduatoria Edilizia Abitativa"); //message.setFrom("thymeleaf@example.com"); message.setFrom("myweb.edilizia@comunitadellavallagarina.tn.it"); //message.setFrom("myweb-graduatoria@smartcommunitylab.it"); message.setTo(recipientEmail);// w ww . j av a 2s .c o m // Create the HTML body using Thymeleaf if (type == 1) { final String htmlContent = this.templateEngine.process("email-vallagarina.html", ctx); message.setText(htmlContent, true /* isHtml */); } else { final String htmlContent = this.templateEngine.process("email-vallagarina-final.html", ctx); message.setText(htmlContent, true /* isHtml */); } // Add the inline titles image, referenced from the HTML code as "cid:${imageResourceName}" final InputStreamSource imageLogo = new ByteArrayResource(logoImage.getImageByte()); message.addInline(logoImage.getImageName(), imageLogo, logoImage.getImageType()); // Add the inline footer image, referenced from the HTML code as "cid:${imageResourceName}" final InputStreamSource imageFooter = new ByteArrayResource(footerImage.getImageByte()); message.addInline(footerImage.getImageName(), imageFooter, footerImage.getImageType()); // Add the attachment //final InputStreamSource attachmentSource = new ByteArrayResource(attachmentBytes); //message.addAttachment( // attachmentFileName, attachmentSource, attachmentContentType); // Send mail this.mailSender.send(mimeMessage); return recipientName + "OK"; }
From source file:hornet.framework.mail.MailServiceImpl.java
/** * {@inheritDoc}//from w ww .java2 s .c o m */ @Override public void envoyer(final String expediteur, final String sujet, final String message, final Map<String, Object> paramMap, final String... destinataires) { try { final Session session = ((JavaMailSenderImpl) mailSender).getSession(); HornetMimeMessage mMessage = null; if (messageIdDomainName == null || messageIdDomainName.length() == 0) { mMessage = new HornetMimeMessage(nomApplication, session); } else { mMessage = new HornetMimeMessage(nomApplication, messageIdDomainName, session); } mMessage.setHeader("Content-Type", "text/html"); final MimeMessageHelper helper = new MimeMessageHelper(mMessage, true, CharEncoding.UTF_8); addExtraSmtpField(paramMap, helper); helper.setFrom(expediteur); ajouterDestinataires(helper, destinataires); helper.setSubject(sujet); // message aux formats texte et html helper.setText(preparerMessageTexte(message), preparerMessageHTML(message)); mailSender.send(mMessage); } catch (final MailSendException mse) { throw toBusinessException(mse); } catch (final Exception e) { throw new BusinessException("erreur.envoi.courriel", e); } }
From source file:gr.abiss.calipso.service.EmailService.java
@Async public void sendMailWithInline(final String recipientName, final String recipientEmail, final String imageResourceName, final byte[] imageBytes, final String imageContentType, final Locale locale) throws MessagingException { // Prepare the evaluation context final Context ctx = new Context(locale); ctx.setVariable("name", recipientName); ctx.setVariable("subscriptionDate", new Date()); ctx.setVariable("hobbies", Arrays.asList("Cinema", "Sports", "Music")); ctx.setVariable("imageResourceName", imageResourceName); // so that we can reference it from HTML // Prepare message using a Spring helper final MimeMessage mimeMessage = this.mailSender.createMimeMessage(); final MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true /* multipart */, "UTF-8"); message.setSubject("Example HTML email with inline image"); message.setFrom("thymeleaf@example.com"); message.setTo(recipientEmail);/*from w w w. j ava2s . co m*/ // Create the HTML body using Thymeleaf final String htmlContent = this.templateEngine.process("email-inlineimage.html", ctx); LOGGER.info("Sending email body: " + htmlContent); message.setText(htmlContent, true /* isHtml */); // Add the inline image, referenced from the HTML code as "cid:${imageResourceName}" final InputStreamSource imageSource = new ByteArrayResource(imageBytes); message.addInline(imageResourceName, imageSource, imageContentType); // Send mail this.mailSender.send(mimeMessage); }