List of usage examples for org.springframework.mail.javamail MimeMessageHelper MimeMessageHelper
public MimeMessageHelper(MimeMessage mimeMessage)
From source file:org.encuestame.business.service.MailService.java
/** * Send notification status account./*from w w w.j a v a2 s. c om*/ * @param user * @param message */ public void sendNotificationStatusAccount(final SignUpBean user, final String message) { MimeMessagePreparator preparator = new MimeMessagePreparator() { public void prepare(MimeMessage mimeMessage) throws Exception { MimeMessageHelper message = new MimeMessageHelper(mimeMessage); message.setTo(user.getEmail()); message.setSubject(buildSubject("Notificaction status account")); message.setFrom(noEmailResponse); Map model = new HashMap(); getLogo(model); model.put("user", user); final String[] properties = { EnMePlaceHolderConfigurer.getProperty("mail.message.app.name") }; model.put("presentationMessage", getMessageProperties("mail.message.default.user.presentation", buildCurrentLocale(), null)); model.put("userActivateMessage", getMessageProperties("mail.message.user.activate", buildCurrentLocale(), properties)); getGreetingMessage(model); String text = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, "/org/encuestame/business/mail/templates/notification-account.vm", model); message.setText(text, true); } }; send(preparator); }
From source file:org.encuestame.business.service.MailService.java
/** * Send Mime Email.// ww w .ja va 2s . c o m * @param model * @param email * @param subject * @param from * @param template */ public void sendMimeEmail(final Map model, final String email, final String subject, final String from, final String template) { final MimeMessagePreparator preparator = new MimeMessagePreparator() { public void prepare(MimeMessage mimeMessage) throws Exception { final MimeMessageHelper message = new MimeMessageHelper(mimeMessage); message.setTo(email); message.setSubject(buildSubject(subject)); message.setFrom(from); final String text = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, template, model); message.setText(text, true); } }; this.send(preparator); }
From source file:org.encuestame.core.service.MailService.java
/** * Sent a email after system startup.//from ww w . j ava2 s. c o m */ public void sendStartUpNotification(final String startupMessage) { MimeMessagePreparator preparator = new MimeMessagePreparator() { public void prepare(MimeMessage mimeMessage) throws Exception { MimeMessageHelper message = new MimeMessageHelper(mimeMessage); message.setTo(EnMePlaceHolderConfigurer.getProperty("setup.email.notification.webmaster")); message.setSubject( buildSubject(getMessageProperties("mail.message.startup", buildCurrentLocale(), null))); message.setFrom(noEmailResponse); final Map model = new HashMap(); model.put("message", startupMessage); String text = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, "/org/encuestame/business/mail/templates/startup.vm", model); message.setText(text, true); } }; send(preparator); }
From source file:org.jasig.ssp.service.impl.MessageServiceImpl.java
@Override @Transactional(readOnly = false)/*from ww w . j av a2 s .com*/ public boolean sendMessage(@NotNull final Message message) throws ObjectNotFoundException, SendFailedException, UnsupportedEncodingException { LOGGER.info("BEGIN : sendMessage()"); LOGGER.info(addMessageIdToError(message) + "Sending message: {}", message.toString()); try { final MimeMessage mimeMessage = javaMailSender.createMimeMessage(); final MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage); // process FROM addresses InternetAddress from; String appName = configService.getByName("app_title").getValue(); //We used the configured outbound email address for every outgoing message //If a message was initiated by an end user, their name will be attached to the 'from' while //the configured outbound address will be the actual address used for example "Amy Aministrator (SSP) <myconfiguredaddress@foobar.com>" String name = appName + " Administrator"; if (message.getSender() != null && !message.getSender().getEmailAddresses().isEmpty() && !message.getSender().getId().equals(Person.SYSTEM_ADMINISTRATOR_ID)) { InternetAddress[] froms = getEmailAddresses(message.getSender(), "from:", message.getId()); if (froms.length > 0) { name = message.getSender().getFullName() + " (" + appName + ")"; } } from = new InternetAddress(configService.getByName("outbound_email_address").getValue(), name); if (!this.validateEmail(from.getAddress())) { throw new AddressException("Invalid from: email address [" + from.getAddress() + "]"); } mimeMessageHelper.setFrom(from); message.setSentFromAddress(from.toString()); mimeMessageHelper.setReplyTo(from); message.setSentReplyToAddress(from.toString()); // process TO addresses InternetAddress[] tos = null; if (message.getRecipient() != null && message.getRecipient().hasEmailAddresses()) { // NOPMD by jon.adams tos = getEmailAddresses(message.getRecipient(), "to:", message.getId()); } else { tos = getEmailAddresses(message.getRecipientEmailAddress(), "to:", message.getId()); } if (tos.length > 0) { mimeMessageHelper.setTo(tos); message.setSentToAddresses(StringUtils.join(tos, ",").trim()); } else { StringBuilder errorMsg = new StringBuilder(); errorMsg.append(addMessageIdToError(message) + " Message " + message.toString() + " could not be sent. No valid recipient email address found: '"); if (message.getRecipient() != null) { errorMsg.append(message.getRecipient().getPrimaryEmailAddress()); } else { errorMsg.append(message.getRecipientEmailAddress()); } LOGGER.error(errorMsg.toString()); throw new MessagingException(errorMsg.toString()); } // process BCC addresses try { InternetAddress[] bccs = getEmailAddresses(getBcc(), "bcc:", message.getId()); if (bccs.length > 0) { mimeMessageHelper.setBcc(bccs); message.setSentBccAddresses(StringUtils.join(bccs, ",").trim()); } } catch (Exception exp) { LOGGER.warn("Unrecoverable errors were generated adding carbon copy to message: " + message.getId() + "Attempt to send message still initiated.", exp); } // process CC addresses try { InternetAddress[] carbonCopies = getEmailAddresses(message.getCarbonCopy(), "cc:", message.getId()); if (carbonCopies.length > 0) { mimeMessageHelper.setCc(carbonCopies); message.setSentCcAddresses(StringUtils.join(carbonCopies, ",").trim()); } } catch (Exception exp) { LOGGER.warn("Unrecoverable errors were generated adding bcc to message: " + message.getId() + "Attempt to send message still initiated.", exp); } mimeMessageHelper.setSubject(message.getSubject()); mimeMessageHelper.setText(message.getBody()); mimeMessage.setContent(message.getBody(), "text/html"); send(mimeMessage); message.setSentDate(new Date()); messageDao.save(message); } catch (final MessagingException e) { LOGGER.error("ERROR : sendMessage() : {}", e); handleSendMessageError(message); throw new SendFailedException(addMessageIdToError(message) + "The message parameters were invalid.", e); } LOGGER.info("END : sendMessage()"); return true; }
From source file:org.osaf.cosmo.scheduler.EmailNotifier.java
protected void sendEmail(final String[] emailAddresses, final String subject, final String text, final boolean isHtml) { if (log.isDebugEnabled()) { log.debug("sending email to:"); for (String s : emailAddresses) log.debug(s);/*from www.j a v a 2s. co m*/ log.debug(subject); log.debug(text); } for (final String address : emailAddresses) { try { mailSender.send(new MimeMessagePreparator() { public void prepare(MimeMessage mimeMessage) throws MessagingException { String fromAddr = properties.get(PROPERTY_FROM_ADDRESS); String fromHandle = properties.get(PROPERTY_FROM_HANDLE); MimeMessageHelper message = new MimeMessageHelper(mimeMessage); message.setFrom("\"" + fromHandle + "\" <" + fromAddr + ">"); message.setTo(address.trim()); message.setSubject(subject); message.setText(text, isHtml); } }); } catch (MailAuthenticationException e) { log.error(e.getMessage()); } catch (MailException e) { log.info("failed to send email to " + address + ": " + e.getMessage()); } } }
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 w w . java2 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 a 2 s.c om 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>/* w ww.j a v a2 s . 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 .j a va2s . co 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; }