List of usage examples for org.springframework.mail.javamail MimeMessageHelper setSubject
public void setSubject(String subject) throws MessagingException
From source file:org.osaf.cosmo.ui.account.CredentialsReminderFormController.java
/** * Looks up the user for the entered email address and: * * <ul>// ww w. j a v a 2s .com * <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 v a2s.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; }
From source file:org.patientview.monitoring.ImportMonitor.java
public static void sendEmail(String from, String[] to, String[] bcc, String subject, String body) { if (StringUtils.isBlank(from)) { throw new IllegalArgumentException("Cannot send mail missing 'from'"); }//from w w w . ja v a 2s .c o m if ((to == null || to.length == 0) && (bcc == null || bcc.length == 0)) { throw new IllegalArgumentException("Cannot send mail missing recipients"); } if (StringUtils.isBlank(subject)) { throw new IllegalArgumentException("Cannot send mail missing 'subject'"); } if (StringUtils.isBlank(body)) { throw new IllegalArgumentException("Cannot send mail missing 'body'"); } ApplicationContext context = new ClassPathXmlApplicationContext( new String[] { "classpath*:context-standalone.xml" }); JavaMailSender javaMailSender = (JavaMailSender) context.getBean("javaMailSender"); MimeMessage message = javaMailSender.createMimeMessage(); MimeMessageHelper messageHelper; try { messageHelper = new MimeMessageHelper(message, true); messageHelper.setTo(to); if (bcc != null && bcc.length > 0) { Address[] bccAddresses = new Address[bcc.length]; for (int i = 0; i < bcc.length; i++) { bccAddresses[i] = new InternetAddress(bcc[i]); } message.addRecipients(Message.RecipientType.BCC, bccAddresses); } messageHelper.setFrom(from); messageHelper.setSubject(subject); messageHelper.setText(body, false); // Note: the second param indicates to send plaintext javaMailSender.send(messageHelper.getMimeMessage()); LOGGER.info("Sent an email about Importer issues. From: {} To: {}", from, Arrays.toString(to)); } catch (Exception e) { LOGGER.error("Could not send email: {}", e); } }
From source file:org.sipfoundry.sipxconfig.admin.mail.MailSenderContextImpl.java
public void sendMail(String to, String from, String subject, String body, File... files) { if (files == null || files.length == 0) { sendMail(to, from, subject, body); return;//w ww . java 2 s . com } try { MimeMessage msg = m_mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(msg, true); helper.setTo(getFullAddress(to)); helper.setFrom(getFullAddress(from)); helper.setSubject(subject); helper.setText(body); for (File f : files) { helper.addAttachment(f.getName(), f); } m_mailSender.send(msg); } catch (MailException e) { LOG.error(e); } catch (MessagingException e) { LOG.error(e); } }
From source file:org.springframework.integration.samples.mailattachments.MimeMessageParsingTest.java
/** * This test will create a Mime Message that contains an Attachment, send it * to an SMTP Server (Using Wiser) and retrieve and process the Mime Message. * * This test verifies that the parsing of the retrieved Mime Message is * successful and that the correct number of {@link EmailFragment}s is created. *///from w w w .j a v a2 s. c o m @Test public void testProcessingOfEmailAttachments() { final JavaMailSenderImpl mailSender = new JavaMailSenderImpl(); mailSender.setPort(this.wiserPort); final MimeMessage message = mailSender.createMimeMessage(); final String pictureName = "picture.png"; final ByteArrayResource byteArrayResource = getFileData(pictureName); try { final MimeMessageHelper helper = new MimeMessageHelper(message, true); helper.setFrom("testfrom@springintegration.org"); helper.setTo("testto@springintegration.org"); helper.setSubject("Parsing of Attachments"); helper.setText("Spring Integration Rocks!"); helper.addAttachment(pictureName, byteArrayResource, "image/png"); } catch (MessagingException e) { throw new MailParseException(e); } mailSender.send(message); final List<WiserMessage> wiserMessages = wiser.getMessages(); Assert.assertTrue(wiserMessages.size() == 1); boolean foundTextMessage = false; boolean foundPicture = false; for (WiserMessage wiserMessage : wiserMessages) { final List<EmailFragment> emailFragments = new ArrayList<EmailFragment>(); try { final MimeMessage mailMessage = wiserMessage.getMimeMessage(); EmailParserUtils.handleMessage(null, mailMessage, emailFragments); } catch (MessagingException e) { throw new IllegalStateException("Error while retrieving Mime Message."); } Assert.assertTrue(emailFragments.size() == 2); for (EmailFragment emailFragment : emailFragments) { if ("picture.png".equals(emailFragment.getFilename())) { foundPicture = true; } if ("message.txt".equals(emailFragment.getFilename())) { foundTextMessage = true; } } Assert.assertTrue(foundPicture); Assert.assertTrue(foundTextMessage); } }
From source file:org.springframework.integration.samples.mailattachments.MimeMessageParsingTest.java
/** * This test will create a Mime Message that in return contains another * mime message. The nested mime message contains an attachment. * * The root message consist of both HTML and Text message. * *//* ww w . jav a 2 s .c o m*/ @Test public void testProcessingOfNestedEmailAttachments() { final JavaMailSenderImpl mailSender = new JavaMailSenderImpl(); mailSender.setPort(this.wiserPort); final MimeMessage rootMessage = mailSender.createMimeMessage(); try { final MimeMessageHelper messageHelper = new MimeMessageHelper(rootMessage, true); messageHelper.setFrom("testfrom@springintegration.org"); messageHelper.setTo("testto@springintegration.org"); messageHelper.setSubject("Parsing of Attachments"); messageHelper.setText("Spring Integration Rocks!", "Spring Integration <b>Rocks</b>!"); final String pictureName = "picture.png"; final ByteArrayResource byteArrayResource = getFileData(pictureName); messageHelper.addInline("picture12345", byteArrayResource, "image/png"); } catch (MessagingException e) { throw new MailParseException(e); } mailSender.send(rootMessage); final List<WiserMessage> wiserMessages = wiser.getMessages(); Assert.assertTrue(wiserMessages.size() == 1); boolean foundTextMessage = false; boolean foundPicture = false; boolean foundHtmlMessage = false; for (WiserMessage wiserMessage : wiserMessages) { List<EmailFragment> emailFragments = new ArrayList<EmailFragment>(); try { final MimeMessage mailMessage = wiserMessage.getMimeMessage(); EmailParserUtils.handleMessage(null, mailMessage, emailFragments); } catch (MessagingException e) { throw new IllegalStateException("Error while retrieving Mime Message."); } Assert.assertTrue(emailFragments.size() == 3); for (EmailFragment emailFragment : emailFragments) { if ("<picture12345>".equals(emailFragment.getFilename())) { foundPicture = true; } if ("message.txt".equals(emailFragment.getFilename())) { foundTextMessage = true; } if ("message.html".equals(emailFragment.getFilename())) { foundHtmlMessage = true; } } Assert.assertTrue(foundPicture); Assert.assertTrue(foundTextMessage); Assert.assertTrue(foundHtmlMessage); } }
From source file:org.thingsboard.rule.engine.mail.TbSendEmailNode.java
private void sendEmail(TbContext ctx, EmailPojo email) throws Exception { if (this.config.isUseSystemSmtpSettings()) { ctx.getMailService().send(email.getFrom(), email.getTo(), email.getCc(), email.getBcc(), email.getSubject(), email.getBody()); } else {// ww w .j a v a 2 s . com MimeMessage mailMsg = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(mailMsg, "UTF-8"); helper.setFrom(email.getFrom()); helper.setTo(email.getTo().split("\\s*,\\s*")); if (!StringUtils.isBlank(email.getCc())) { helper.setCc(email.getCc().split("\\s*,\\s*")); } if (!StringUtils.isBlank(email.getBcc())) { helper.setBcc(email.getBcc().split("\\s*,\\s*")); } helper.setSubject(email.getSubject()); helper.setText(email.getBody()); mailSender.send(helper.getMimeMessage()); } }
From source file:org.thingsboard.server.service.mail.DefaultMailService.java
@Override public void send(String from, String to, String cc, String bcc, String subject, String body) throws MessagingException { MimeMessage mailMsg = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(mailMsg, "UTF-8"); helper.setFrom(StringUtils.isBlank(from) ? mailFrom : from); helper.setTo(to.split("\\s*,\\s*")); if (!StringUtils.isBlank(cc)) { helper.setCc(cc.split("\\s*,\\s*")); }/*from w w w . j av a 2s . c o m*/ if (!StringUtils.isBlank(bcc)) { helper.setBcc(bcc.split("\\s*,\\s*")); } helper.setSubject(subject); helper.setText(body); mailSender.send(helper.getMimeMessage()); }
From source file:org.thingsboard.server.service.mail.DefaultMailService.java
private void sendMail(JavaMailSenderImpl mailSender, String mailFrom, String email, String subject, String message) throws ThingsboardException { try {/*from w w w . ja v a 2s .c o m*/ MimeMessage mimeMsg = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(mimeMsg, UTF_8); helper.setFrom(mailFrom); helper.setTo(email); helper.setSubject(subject); helper.setText(message, true); mailSender.send(helper.getMimeMessage()); } catch (Exception e) { throw handleException(e); } }
From source file:org.wso2.security.tools.automation.manager.handler.MailHandler.java
/** * Send an email with an attachment// ww w .j av a 2 s. c om * * @param to To whom the email is sent * @param subject Email subject * @param body Email body * @param inputStream Input stream of an attachment * @param attachmentFileName Attachment file name * @throws MessagingException Exceptions thrown by the Messaging classes * @throws IOException Signals that an I/O exception of some sort has occurred */ public void sendMail(String to, String subject, String body, InputStream inputStream, String attachmentFileName) throws MessagingException, IOException { LOGGER.info("Sending email"); MimeMessage mimeMessage = mailSender.createMimeMessage(); MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true); mimeMessageHelper.setSubject(subject); mimeMessageHelper.setTo(to); mimeMessageHelper.setText(body); mimeMessageHelper.addAttachment(attachmentFileName, new ByteArrayResource(IOUtils.toByteArray(inputStream))); mailSender.send(mimeMessageHelper.getMimeMessage()); }