List of usage examples for org.springframework.mail.javamail MimeMessagePreparator MimeMessagePreparator
MimeMessagePreparator
From source file:org.osaf.cosmo.service.account.EmailAccountActivator.java
public void sendActivationMessage(final User user, final ActivationContext activationContext) { mailSender.send(new MimeMessagePreparator() { public void prepare(MimeMessage mimeMessage) throws MessagingException { Locale locale = activationContext.getLocale(); User sender = activationContext.getSender(); String fromAddr = sender.getEmail(); String fromHandle = messageSource.getMessage(MSG_ACTIVATION_HANDLE, new Object[] {}, locale); String subject = messageSource.getMessage(MSG_ACTIVATION_SUBJECT, new Object[] { user.getUsername() }, locale); String text = messageSource.getMessage(MSG_ACTIVATION_TEXT, new Object[] { user.getUsername(), activationContext.getHostname(), activationContext.getActivationLink(user.getActivationId()) }, locale);/*w ww. j av a 2 s . c o m*/ MimeMessageHelper message = new MimeMessageHelper(mimeMessage); message.setFrom("\"" + fromHandle + "\" <" + fromAddr + ">"); message.setTo(user.getEmail()); message.setSubject(subject); message.setText(text); } }); log.info("Account activation link sent to " + user.getEmail()); }
From source file:org.osaf.cosmo.service.account.EmailPasswordRecoverer.java
public void sendRecovery(final PasswordRecovery passwordRecovery, final PasswordRecoveryMessageContext context) { // Create final variable so it is available in message preparator below final User user = passwordRecovery.getUser(); mailSender.send(new MimeMessagePreparator() { public void prepare(MimeMessage mimeMessage) throws MessagingException { Locale locale = context.getLocale(); User sender = context.getSender(); String fromAddr = sender.getEmail(); String fromHandle = messageSource.getMessage(MSG_PASSWORD_RECOVERY_HANDLE, new Object[] {}, locale); String subject = messageSource.getMessage(MSG_PASSWORD_RECOVERY_SUBJECT, new Object[] { user.getUsername() }, locale); String text = messageSource.getMessage(MSG_PASSWORD_RECOVERY_TEXT, new Object[] { user.getUsername(), context.getHostname(), context.getRecoveryLink() }, locale);//from ww w . j a v a2 s . co m MimeMessageHelper message = new MimeMessageHelper(mimeMessage); message.setFrom("\"" + fromHandle + "\" <" + fromAddr + ">"); message.setTo(user.getEmail()); message.setSubject(subject); message.setText(text); } }); log.info("Password recovery link sent to " + user.getEmail() + " with key " + passwordRecovery.getKey()); }
From source file:org.osaf.cosmo.ui.account.CredentialsReminderFormController.java
/** * Looks up the user for the entered email address and: * * <ul>/*from w w w. ja va 2s .c o m*/ * <li> If the username button was clicked, sends a reminder email * containing the username to the user's email address * <li> If the password button was clicked, reset's the user's * password and sends a confirmation email containing the new * password to the user's email address * </ul> * * @see UIConstants#FWD_OK * public ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { throws Exception { BeanValidatorForm forgotForm = (BeanValidatorForm) form; String email = (String) forgotForm.get(FORM_EMAIL); User user = null; try { user = userService.getUserByEmail(email); } catch (DataRetrievalFailureException e) { saveErrorMessage(request, MSG_ERROR_EMAIL_NOT_FOUND); return mapping.findForward(UIConstants.FWD_FAILURE); } if (wasUsernameButtonClicked(forgotForm)) { sendUsernameReminderMessage(request, response, user); saveConfirmationMessage(request, MSG_CONFIRM_USERNAME); } if (wasPasswordButtonClicked(forgotForm)) { String newPassword = userService.generatePassword(); user.setPassword(newPassword); userService.updateUser(user); sendPasswordResetMessage(request, response, user, newPassword); saveConfirmationMessage(request, MSG_CONFIRM_PASSWORD); } return mapping.findForward(UIConstants.FWD_OK); } public boolean wasUsernameButtonClicked(BeanValidatorForm form) { return form.get(FORM_BUTTON_USERNAME) != null; } public boolean wasPasswordButtonClicked(BeanValidatorForm form) { return form.get(FORM_BUTTON_PASSWORD) != null; } private void sendUsernameReminderMessage(final HttpServletRequest request, final HttpServletResponse response, final User user) { mailSender.send(new MimeMessagePreparator() { public void prepare(MimeMessage mimeMessage) throws MessagingException { MessageResources resources = getResources(request); Locale locale = getLocale(request); User rootUser = userService.getUser(User.USERNAME_OVERLORD); String fromAddr = (String) getServlet().getServletContext(). getAttribute(CosmoConstants.SC_ATTR_SERVER_ADMIN); String fromHandle = resources.getMessage(locale, MSG_USERNAME_REMINDER_FROMHANDLE); String subject = resources.getMessage(locale, MSG_USERNAME_REMINDER_SUBJECT); String text = resources.getMessage(locale, MSG_USERNAME_REMINDER_TEXT, user.getUsername(), getContextRelativeURL(request, "/"), rootUser.getEmail()); MimeMessageHelper message = new MimeMessageHelper(mimeMessage); message.setFrom("\"" + fromHandle + "\" <" + fromAddr + ">"); message.setTo(user.getEmail()); message.setSubject(subject); message.setText(text); } }); } */ private void sendPasswordResetMessage(final HttpServletRequest request, final HttpServletResponse response, final User user, final String newPassword) { mailSender.send(new MimeMessagePreparator() { public void prepare(MimeMessage mimeMessage) throws MessagingException { Locale locale = request.getLocale(); User rootUser = userService.getUser(User.USERNAME_OVERLORD); String fromAddr = rootUser.getEmail(); String fromHandle = messageSource.getMessage(MSG_PASSWORD_RESET_FROMHANDLE, new Object[] {}, locale); String subject = messageSource.getMessage(MSG_PASSWORD_RESET_SUBJECT, new Object[] {}, locale); String text = messageSource.getMessage(MSG_PASSWORD_RESET_TEXT, new Object[] { newPassword, request.getContextPath(), rootUser.getEmail() }, locale); MimeMessageHelper message = new MimeMessageHelper(mimeMessage); message.setFrom("\"" + fromHandle + "\" <" + fromAddr + ">"); message.setTo(user.getEmail()); message.setSubject(subject); message.setText(text); } }); }
From source file:org.oscarehr.renal.web.RenalAction.java
public ActionForward sendPatientLetterAsEmail(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { String demographicNo = request.getParameter("demographic_no"); String error = ""; boolean success = true; JSONObject json = new JSONObject(); final Demographic d = demographicDao.getDemographic(demographicNo); if (d == null) { error = "Patient not found."; success = false;//w w w . jav a 2 s. c o m } if (d.getEmail() == null || d.getEmail().length() == 0 || d.getEmail().indexOf("@") == -1) { error = "No valid email address found for patient."; success = false; } if (success) { try { String documentDir = oscar.OscarProperties.getInstance().getProperty("DOCUMENT_DIR", ""); File f = new File(documentDir, "orn_patient_letter.txt"); String template = IOUtils.toString(new FileInputStream(f)); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); VelocityContext velocityContext = VelocityUtils.createVelocityContextWithTools(); velocityContext.put("patient", d); velocityContext.put("currentDate", sdf.format(new Date())); Provider mrp = null; if (d.getProviderNo() != null && d.getProviderNo().length() > 0) { mrp = providerDao.getProvider(d.getProviderNo()); } else { mrp = providerDao.getProvider(OscarProperties.getInstance().getProperty("orn.default_mrp", "")); } velocityContext.put("mrp", mrp); final String mrp1 = mrp.getFullName(); final String letter = VelocityUtils.velocityEvaluate(velocityContext, template); JavaMailSender mailSender = (JavaMailSender) SpringUtils.getBean("mailSender"); MimeMessagePreparator preparator = new MimeMessagePreparator() { public void prepare(MimeMessage mimeMessage) throws Exception { MimeMessageHelper message = new MimeMessageHelper(mimeMessage); message.setTo(d.getEmail()); message.setSubject(OscarProperties.getInstance().getProperty("orn.email.subject", "Important Message from " + mrp1)); message.setFrom(OscarProperties.getInstance().getProperty("orn.email.from", "no-reply@oscarmcmaster.org")); message.setText(letter, true); } }; mailSender.send(preparator); } catch (IOException e) { MiscUtils.getLogger().error("Error", e); success = false; error = e.getMessage(); } finally { OscarAuditLogger.getInstance().log("create", "CkdPatientLetter", Integer.valueOf(demographicNo), ""); OscarAuditLogger.getInstance().log("email", "CkdPatientLetter", Integer.valueOf(demographicNo), ""); } } json.put("success", String.valueOf(success)); json.put("error", error); try { json.write(response.getWriter()); } catch (IOException e) { MiscUtils.getLogger().error("error", e); } return null; }