List of usage examples for org.springframework.mail.javamail MimeMessageHelper setFrom
public void setFrom(String from) throws MessagingException
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.java 2 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:org.wallride.service.UserService.java
@CacheEvict(value = WallRideCacheConfiguration.USER_CACHE, allEntries = true) public UserInvitation inviteAgain(UserInvitationResendRequest form, BindingResult result, AuthorizedUser authorizedUser) throws MessagingException { LocalDateTime now = LocalDateTime.now(); UserInvitation invitation = userInvitationRepository.findOneForUpdateByToken(form.getToken()); invitation.setExpiredAt(now.plusHours(72)); invitation.setUpdatedAt(now);//from www. j a va 2 s. co m invitation.setUpdatedBy(authorizedUser.toString()); invitation = userInvitationRepository.saveAndFlush(invitation); Blog blog = blogService.getBlogById(Blog.DEFAULT_ID); String websiteTitle = blog.getTitle(LocaleContextHolder.getLocale().getLanguage()); String signupLink = ServletUriComponentsBuilder.fromCurrentContextPath().path("/_admin/signup") .queryParam("token", invitation.getToken()).buildAndExpand().toString(); final Context ctx = new Context(LocaleContextHolder.getLocale()); ctx.setVariable("websiteTitle", websiteTitle); ctx.setVariable("authorizedUser", authorizedUser); ctx.setVariable("signupLink", signupLink); ctx.setVariable("invitation", invitation); final MimeMessage mimeMessage = mailSender.createMimeMessage(); final MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true, "UTF-8"); // true = multipart message.setSubject(MessageFormat.format( messageSourceAccessor.getMessage("InvitationMessageTitle", LocaleContextHolder.getLocale()), authorizedUser.toString(), websiteTitle)); message.setFrom(authorizedUser.getEmail()); message.setTo(invitation.getEmail()); final String htmlContent = templateEngine.process("user-invite", ctx); message.setText(htmlContent, true); // true = isHtml mailSender.send(mimeMessage); return invitation; }
From source file:net.triptech.metahive.service.EmailSenderService.java
/** * Send an email message using the configured Spring sender. On success * record the sent message in the datastore for reporting purposes * * @param email the email/*from ww w. j ava 2s.c o m*/ * @param attachments the attachments * @throws ServiceException the service exception */ public final void send(final SimpleMailMessage email, TreeMap<String, Object> attachments) throws ServiceException { // Check to see whether the required fields are set (to, from, message) if (email.getTo() == null) { throw new ServiceException("Error sending email: Recipient " + "address required"); } if (StringUtils.isBlank(email.getFrom())) { throw new ServiceException("Error sending email: Email requires " + "a from address"); } if (StringUtils.isBlank(email.getText())) { throw new ServiceException("Error sending email: No email " + "message specified"); } if (mailSender == null) { throw new ServiceException("The JavaMail sender has not " + "been configured"); } // Prepare the email message MimeMessage message = mailSender.createMimeMessage(); MimeMessageHelper helper = null; boolean htmlMessage = false; if (StringUtils.containsIgnoreCase(email.getText(), "<html")) { htmlMessage = true; try { helper = new MimeMessageHelper(message, true, "UTF-8"); } catch (MessagingException me) { throw new ServiceException("Error preparing email for sending: " + me.getMessage()); } } else { helper = new MimeMessageHelper(message); } try { helper.setTo(email.getTo()); helper.setFrom(email.getFrom()); helper.setSubject(email.getSubject()); if (email.getCc() != null) { helper.setCc(email.getCc()); } if (email.getBcc() != null) { helper.setBcc(email.getBcc()); } if (htmlMessage) { String plainText = email.getText(); try { ConvertHtmlToText htmlToText = new ConvertHtmlToText(); plainText = htmlToText.convert(email.getText()); } catch (Exception e) { logger.error("Error converting HTML to plain text: " + e.getMessage()); } helper.setText(plainText, email.getText()); } else { helper.setText(email.getText()); } if (email.getSentDate() != null) { helper.setSentDate(email.getSentDate()); } else { helper.setSentDate(Calendar.getInstance().getTime()); } } catch (MessagingException me) { throw new ServiceException("Error preparing email for sending: " + me.getMessage()); } // Append any attachments (if an HTML email) if (htmlMessage && attachments != null) { for (String id : attachments.keySet()) { Object reference = attachments.get(id); if (reference instanceof File) { try { FileSystemResource res = new FileSystemResource((File) reference); helper.addInline(id, res); } catch (MessagingException me) { logger.error("Error appending File attachment: " + me.getMessage()); } } if (reference instanceof URL) { try { UrlResource res = new UrlResource((URL) reference); helper.addInline(id, res); } catch (MessagingException me) { logger.error("Error appending URL attachment: " + me.getMessage()); } } } } // Send the email message try { mailSender.send(message); } catch (MailException me) { logger.error("Error sending email: " + me.getMessage()); throw new ServiceException("Error sending email: " + me.getMessage()); } }
From source file:com.mobileman.projecth.business.impl.MailManagerImpl.java
/** * {@inheritDoc}//from w w w.j a v a 2 s .c o m * @see com.mobileman.projecth.business.MailManager#sendMessage(java.lang.String, java.lang.String, java.lang.String, java.lang.String) */ @Override public void sendMessage(final String senderEmail, final String receiverEmail, final String subject, final String body) { if (log.isDebugEnabled()) { log.debug("sendMessage(" + senderEmail + ", " + receiverEmail + ", " + subject + ", " + body + ") - start"); } MimeMessagePreparator preparator = new MimeMessagePreparator() { /** * {@inheritDoc} * @see org.springframework.mail.javamail.MimeMessagePreparator#prepare(javax.mail.internet.MimeMessage) */ @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.setSubject(subject); messageHelper.setTo(receiverEmail); if (senderEmail == null || senderEmail.trim().length() == 0) { messageHelper.setFrom("projecth@projecth.com"); } else { messageHelper.setFrom(senderEmail); } String textMessage = HTMLTextParser.htmlToText(body); messageHelper.setText(textMessage, body); if (log.isDebugEnabled()) { log.debug("$MimeMessagePreparator.prepare(MimeMessage) - returns"); //$NON-NLS-1$ } } }; this.mailSender.send(preparator); if (log.isDebugEnabled()) { log.debug("sendMessage(...) - end"); } }
From source file:org.wallride.service.UserService.java
@CacheEvict(value = WallRideCacheConfiguration.USER_CACHE, allEntries = true) public List<UserInvitation> inviteUsers(UserInvitationCreateRequest form, BindingResult result, AuthorizedUser authorizedUser) throws MessagingException { String[] recipients = StringUtils.commaDelimitedListToStringArray(form.getInvitees()); LocalDateTime now = LocalDateTime.now(); List<UserInvitation> invitations = new ArrayList<>(); for (String recipient : recipients) { UserInvitation invitation = new UserInvitation(); invitation.setEmail(recipient);//from ww w.j av a2 s . c o m invitation.setMessage(form.getMessage()); invitation.setExpiredAt(now.plusHours(72)); invitation.setCreatedAt(now); invitation.setCreatedBy(authorizedUser.toString()); invitation.setUpdatedAt(now); invitation.setUpdatedBy(authorizedUser.toString()); invitation = userInvitationRepository.saveAndFlush(invitation); invitations.add(invitation); } Blog blog = blogService.getBlogById(Blog.DEFAULT_ID); for (UserInvitation invitation : invitations) { String websiteTitle = blog.getTitle(LocaleContextHolder.getLocale().getLanguage()); String signupLink = ServletUriComponentsBuilder.fromCurrentContextPath().path("/_admin/signup") .queryParam("token", invitation.getToken()).buildAndExpand().toString(); final Context ctx = new Context(LocaleContextHolder.getLocale()); ctx.setVariable("websiteTitle", websiteTitle); ctx.setVariable("authorizedUser", authorizedUser); ctx.setVariable("signupLink", signupLink); ctx.setVariable("invitation", invitation); final MimeMessage mimeMessage = mailSender.createMimeMessage(); final MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true, "UTF-8"); // true = multipart message.setSubject(MessageFormat.format( messageSourceAccessor.getMessage("InvitationMessageTitle", LocaleContextHolder.getLocale()), authorizedUser.toString(), websiteTitle)); message.setFrom(authorizedUser.getEmail()); message.setTo(invitation.getEmail()); final String htmlContent = templateEngine.process("user-invite", ctx); message.setText(htmlContent, true); // true = isHtml mailSender.send(mimeMessage); } return invitations; }
From source file:gr.abiss.calipso.mail.MailSender.java
/** * // w w w. j a v a 2 s . co m * @param email * @param subject * @param messageBody * @param attachments * @param encryption * @param keyStorePath */ public void send(String email, String subject, String messageBody, Map<String, DataSource> attachments, boolean html) { // prepare message try { MimeMessage message = sender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8"); if (html) { helper.setText(addHeaderAndFooter(messageBody), true); } else { helper.setText(messageBody, false); } helper.setSubject(subject); helper.setSentDate(new Date()); helper.setFrom(from); // set TO helper.setTo(email); if (MapUtils.isNotEmpty(attachments)) { for (String attachmentFilename : attachments.keySet()) { DataSource in = attachments.get(attachmentFilename); if (in != null) { helper.addAttachment(attachmentFilename, in); } } } //logger.info("Sending email: "+subject+"\n"+messageBody); sendInNewThread(message); } catch (Exception e) { logger.error("failed to prepare e-mail", e); } }
From source file:dk.nsi.haiba.epimibaimporter.email.EmailSender.java
private void sendText(final String subject, final String nonHtml) { MimeMessagePreparator preparator = new MimeMessagePreparator() { @Override//w w w. j a v a2 s. c o m public void prepare(MimeMessage mimeMessage) throws Exception { MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true); messageHelper.setValidateAddresses(true); String[] split = to_commaseparated.split(","); for (String emailAddress : split) { emailAddress = emailAddress.trim(); try { log.trace("adding " + emailAddress); messageHelper.addTo(emailAddress); log.trace("added " + emailAddress); } catch (MessagingException e) { log.error("unable to parse email address from " + emailAddress, e); } } messageHelper.setFrom(from); messageHelper.setSubject(subject); messageHelper.setText(nonHtml, false); } }; javaMailSender.send(preparator); }
From source file:org.apigw.authserver.web.controller.ApplicationManagementController.java
@RequestMapping(value = "/app", params = { "delete" }) public ModelAndView deleteApp(@RequestParam("delete") Long id, Authentication authentication) { UserDetails user = (UserDetails) authentication.getPrincipal(); Developer developer = appManagement.getDeveloper(user.getUsername()); log.debug("User {} deleted the app with id {}.", citizenLoggingUtil.getLogsafeSSN(user.getUsername()), id); if (developer == null) { return new ModelAndView("redirect:register_developer"); } else {/*from w w w. j a v a 2 s .c o m*/ Application application = appManagement.getApplication(id); log.debug("Deleting the app {}.", application.getName()); if (application.getDeveloper().getResidentIdentificationNumber().equals(user.getUsername())) { appManagement.removeApplication(id); try { MimeMessage message = sender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message); helper.setTo(mailAddress); helper.setFrom(new InternetAddress(mailFrom)); helper.setSubject("Borttagen app: " + application.getName()); helper.setText("Utvecklare med personnr " + user.getUsername() + " har tagit bort appen: " + application.getName()); sender.send(message); } catch (Exception e) { log.error("Caught exception while trying to send email", e); } } else { throw new RuntimeException( "The logged in user is not the same as the developer of the application!"); } return new ModelAndView("redirect:"); } }
From source file:org.apigw.authserver.web.controller.ApplicationManagementController.java
@RequestMapping(value = "/app", method = RequestMethod.POST) public String registerApp(ModelMap model, @ModelAttribute("application") Application application, @RequestParam("certificate") MultipartFile certificate, MultipartFile icon, BindingResult result, Authentication authentication) throws IOException { UserDetails user = (UserDetails) authentication.getPrincipal(); Developer developer = appManagement.getDeveloper(user.getUsername()); log.debug("User {} registered or edited the app {}.", citizenLoggingUtil.getLogsafeSSN(user.getUsername()), application.getName());/*from w ww . ja va2s .c om*/ if (developer == null) { return "redirect:register_developer"; } else { applicationValidator.validate(application, result); application.setRegistrationDate(new Date()); application.setState(State.REGISTRATED); application.setDeveloper(developer); Application existingApp = appManagement.getApplicationByClientId(application.getClientId()); if (existingApp != null) { result.rejectValue("clientId", "invalid.clientId", "Klient id:et finns redan registrerat, var god vlj ett annat."); } // validate icon if it exists if (application.getIcon() != null && application.getIcon().length > 0) { try { ByteArrayInputStream bis = new ByteArrayInputStream(application.getIcon()); BufferedImage bufferedImage = ImageIO.read(bis); log.info("Width: " + bufferedImage.getWidth() + " Height: " + bufferedImage.getHeight()); application.setIconContentType(icon.getContentType()); // TODO: Check width and height here! } catch (Exception e) { result.rejectValue("icon", "invalid.icon", "Ikonen r ej giltig"); } } //For now we are just allowing the addition of just one certificate List<Certificate> certs = new ArrayList<>(); if (certificate != null && certificate.getSize() > 0) { certs.add(createCertificate(certificate, result)); } if (result.hasErrors()) { List<Permission> permissions = permissionServices.getAllPermissions(); model.addAttribute("scopes", permissions); return "register_application"; } Application savedApp = appManagement.registerApplication(application); for (Certificate cert : certs) { cert.setApplication(savedApp); appManagement.saveCertificate(cert); savedApp.getCertificates().add(cert); } try { log.debug("Composing message to: {}", mailAddress); MimeMessage message = sender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message); helper.setTo(mailAddress); helper.setFrom(new InternetAddress(mailFrom)); log.debug("Creating message for existing app. User {} edited the app {}", citizenLoggingUtil.getLogsafeSSN(user.getUsername()), application.getName()); helper.setSubject("Redigerad app: " + application.getName()); helper.setText("Utvecklare med personnr " + user.getUsername() + " har redigerat appen: " + application.getName()); log.debug("Sending mail notification."); sender.send(message); } catch (Exception e) { log.error("Caught exception while trying to send email", e); } return "redirect:"; } }
From source file:it.jugpadova.blo.EventBo.java
private void sendConfirmationEmail(final Event event, final Participant participant, final String baseUrl) { MimeMessagePreparator preparator = new MimeMessagePreparator() { @SuppressWarnings(value = "unchecked") public void prepare(MimeMessage mimeMessage) throws Exception { MimeMessageHelper message = new MimeMessageHelper(mimeMessage); message.setTo(participant.getEmail()); message.setFrom(conf.getConfirmationSenderEmailAddress()); message.setSubject("Please confirm event registration"); Map model = new HashMap(); model.put("participant", participant); model.put("event", event); model.put("baseUrl", baseUrl); model.put("confirmationCode", URLEncoder.encode(participant.getConfirmationCode(), "UTF-8")); model.put("email", URLEncoder.encode(participant.getEmail(), "UTF-8")); String text = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, "it/jugpadova/registration-confirmation.vm", model); message.setText(text, true); }/* w ww .ja va 2 s .c om*/ }; this.mailSender.send(preparator); }