List of usage examples for org.springframework.mail.javamail MimeMessageHelper MimeMessageHelper
public MimeMessageHelper(MimeMessage mimeMessage, int multipartMode) throws MessagingException
From source file:ru.mystamps.web.service.MailServiceImpl.java
@SuppressWarnings("PMD.UseObjectForClearerAPI") private void sendMail(final String email, final String subject, final String text, final String tag) { try {//from w w w .j a va 2 s . c o m // We're using MimeMessagePreparator only because of its capability of adding headers. // Otherwise we would use SimpleMailMessage class. MimeMessagePreparator preparator = new MimeMessagePreparator() { @Override @SuppressWarnings("PMD.SignatureDeclareThrowsException") public void prepare(MimeMessage mimeMessage) throws Exception { MimeMessageHelper message = new MimeMessageHelper(mimeMessage, "UTF-8"); message.setValidateAddresses(true); message.setTo(email); message.setFrom(new InternetAddress(robotEmail, "My Stamps", "UTF-8")); message.setSubject(subject); message.setText(text); // see: http://documentation.mailgun.com/user_manual.html#sending-via-smtp message.getMimeMessage().addHeader("X-Mailgun-Tag", tag); if (testMode) { message.getMimeMessage().addHeader("X-Mailgun-Drop-Message", "yes"); } } }; mailer.send(preparator); } catch (MailException ex) { throw new EmailSendingException("Can't send mail to e-mail " + email, ex); } }
From source file:cs544.wamp_blog_engine.service.impl.NotificationService.java
public void sendMail(String fromEmail, String toEmail, String emailSubject, String emailBody) { // String fromEmail = emailTemplate.getFrom(); // String[] toEmail = emailTemplate.getTo(); // String[] toEmails = new String[]{toEmail}; // String emailSubject = emailTemplate.getSubject(); // String emailBody = String.format(emailTemplate.getText(), dear, content); MimeMessage mimeMessage = javaMailSender.createMimeMessage(); try {/* w w w . ja va2s . co m*/ MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true); helper.setFrom(fromEmail); helper.setTo(toEmail); helper.setSubject(emailSubject); helper.setText(emailBody); /* uncomment the following lines for attachment FileSystemResource file = new FileSystemResource("attachment.jpg"); helper.addAttachment(file.getFilename(), file); */ javaMailSender.send(mimeMessage); System.out.println("Mail sent successfully."); } catch (MessagingException e) { e.printStackTrace(); } }
From source file:org.cgiar.dapa.ccafs.tpe.service.impl.TPEMailService.java
@Override public void contactUs(final Map<String, Object> templateVariables) { MimeMessagePreparator preparator = new MimeMessagePreparator() { public void prepare(MimeMessage mimeMessage) throws Exception { MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true); message.setTo(supportEmail); message.setFrom(new InternetAddress(adminEmail)); message.setSubject(SUBJECT_ADMIN); String body = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, "templates/contact-us.vm", "UTF-8", templateVariables); log.info(body);/*from w w w . j av a 2 s .c o m*/ message.setText(body, true); } }; this.mailSender.send(preparator); }
From source file:cn.edu.zjnu.acm.judge.user.ResetPasswordController.java
@PostMapping("/resetPassword") public void doPost(HttpServletRequest request, HttpServletResponse response, @RequestParam(value = "action", required = false) String action, @RequestParam(value = "verify", required = false) String verify, @RequestParam(value = "username", required = false) String username, Locale locale) throws IOException { response.setContentType("text/javascript;charset=UTF-8"); PrintWriter out = response.getWriter(); HttpSession session = request.getSession(false); String word = null;//from ww w . ja va2 s. co m if (session != null) { word = (String) session.getAttribute("word"); session.removeAttribute("word"); } if (word == null || !word.equalsIgnoreCase(verify)) { out.print("alert('??');"); return; } User user = userMapper.findOne(username); if (user == null) { out.print("alert('?');"); return; } String email = user.getEmail(); if (email == null || !email.toLowerCase().matches(ValueCheck.EMAIL_PATTERN)) { out.print( "alert('???????');"); return; } try { String vc = user.getVcode(); if (vc == null || user.getExpireTime() != null && user.getExpireTime().compareTo(Instant.now()) < 0) { vc = Utility.getRandomString(16); } user = user.toBuilder().vcode(vc).expireTime(Instant.now().plus(1, ChronoUnit.HOURS)).build(); userMapper.update(user); String url = getPath(request, "/resetPassword.html?vc=", vc + "&u=", user.getId()); HashMap<String, Object> map = new HashMap<>(2); map.put("url", url); map.put("ojName", judgeConfiguration.getContextPath() + " OJ"); String content = templateEngine.process("users/password", new Context(locale, map)); String title = templateEngine.process("users/passwordTitle", new Context(locale, map)); MimeMessage mimeMessage = javaMailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true); helper.setTo(email); helper.setSubject(title); helper.setText(content, true); helper.setFrom(javaMailSender.getUsername()); javaMailSender.send(mimeMessage); } catch (MailException | MessagingException ex) { log.error("", ex); out.print("alert('?????')"); return; } out.print("alert('???" + user.getEmail() + "??');"); }
From source file:com.indicator_engine.controller.RegistrationController.java
@RequestMapping(value = "/register", method = RequestMethod.POST) public String processRegistrationForm(@Valid @ModelAttribute("RegisterForm") RegistrationForm RegisterForm, BindingResult bindingResult, Map<String, Object> model) { if (bindingResult.hasErrors()) { return "app/register"; }//from w w w . ja v a2 s. c om UserCredentialsDao userDetailsBean = (UserCredentialsDao) appContext.getBean("userDetails"); MimeMessage message = mailSender.createMimeMessage(); String errorMsg; String uname = RegisterForm.getUserName(); String password = RegisterForm.getPassword(); String hashedPassword = encoder.encode(password); Date dob = RegisterForm.getDob(); java.sql.Date sqlStartDate = null; sqlStartDate = new java.sql.Date(dob.getTime()); String email = RegisterForm.getEmail(); // Error Handling Not done Yet. Synchronize Java Script checks + Server Side checks. Eliminate redundant checks if (uname == null || email == null || password == null) errorMsg = "Error : Please Check your "; UserCredentials uc = new UserCredentials(uname, hashedPassword, new UserProfile(" ", " ", sqlStartDate, 0, " ", " ", " ", 0, " ", email)); userDetailsBean.add(uc); try { MimeMessageHelper helper = new MimeMessageHelper(message, true); helper.setFrom("goalla@rwth-aachen.de"); helper.setTo(uc.getUp().getEmailid()); helper.setSubject("One Time Password for Verification"); /*Map<String, Object> modelMsg = new HashMap<String, Object>(); model.put("UserName", uc.getUname()); model.put("EmailID", uc.getUp().getEmailid()); model.put("DOB", uc.getUp().getDob()); model.put("OTP", uc.getOtp()); String emailText = VelocityEngineUtils.mergeTemplateIntoString( velocityEngine, "registrationEmailTemplate.vm", "UTF-8", modelMsg); */ helper.setText("OTP For Verification : " + uc.getOtp()); /*FileSystemResource couponImage = new FileSystemResource("logo.png"); helper.addAttachment("logo.png", logoImage); ClassPathResource image = new ClassPathResource("rwth.png"); helper.addInline("UniLogo", image); */ } catch (javax.mail.MessagingException ex) { } mailSender.send(message); model.put("msg", uc.getUid()); return "app/registration_success"; }
From source file:org.syncope.core.scheduling.NotificationJob.java
public TaskExec executeSingle(final NotificationTask task) { init();/*from w ww. j a v a2s . c o m*/ TaskExec execution = new TaskExec(); execution.setTask(task); execution.setStartDate(new Date()); if (StringUtils.isBlank(smtpHost) || StringUtils.isBlank(task.getSender()) || StringUtils.isBlank(task.getSubject()) || task.getRecipients().isEmpty() || StringUtils.isBlank(task.getHtmlBody()) || StringUtils.isBlank(task.getTextBody())) { String message = "Could not fetch all required information for " + "sending e-mails:\n" + smtpHost + ":" + smtpPort + "\n" + task.getRecipients() + "\n" + task.getSender() + "\n" + task.getSubject() + "\n" + task.getHtmlBody() + "\n" + task.getTextBody(); LOG.error(message); execution.setStatus(Status.NOT_SENT.name()); if (task.getTraceLevel().ordinal() >= TraceLevel.FAILURES.ordinal()) { execution.setMessage(message); } } else { if (LOG.isDebugEnabled()) { LOG.debug("About to send e-mails:\n" + smtpHost + ":" + smtpPort + "\n" + task.getRecipients() + "\n" + task.getSender() + "\n" + task.getSubject() + "\n" + task.getHtmlBody() + "\n" + task.getTextBody() + "\n"); } for (String to : task.getRecipients()) { try { JavaMailSenderImpl sender = new JavaMailSenderImpl(); sender.setHost(smtpHost); sender.setPort(smtpPort); if (StringUtils.isNotBlank(smtpUsername)) { sender.setUsername(smtpUsername); } if (StringUtils.isNotBlank(smtpPassword)) { sender.setPassword(smtpPassword); } MimeMessage message = sender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true); helper.setTo(to); helper.setFrom(task.getSender()); helper.setSubject(task.getSubject()); helper.setText(task.getTextBody(), task.getHtmlBody()); sender.send(message); execution.setStatus(Status.SENT.name()); StringBuilder report = new StringBuilder(); switch (task.getTraceLevel()) { case ALL: report.append("FROM: ").append(task.getSender()).append('\n').append("TO: ").append(to) .append('\n').append("SUBJECT: ").append(task.getSubject()).append('\n') .append('\n').append(task.getTextBody()).append('\n').append('\n') .append(task.getHtmlBody()).append('\n'); break; case SUMMARY: report.append("E-mail sent to ").append(to).append('\n'); break; case FAILURES: case NONE: default: } if (report.length() > 0) { execution.setMessage(report.toString()); } } catch (Throwable t) { LOG.error("Could not send e-mail", t); execution.setStatus(Status.NOT_SENT.name()); StringWriter exceptionWriter = new StringWriter(); exceptionWriter.write(t.getMessage() + "\n\n"); t.printStackTrace(new PrintWriter(exceptionWriter)); if (task.getTraceLevel().ordinal() >= TraceLevel.FAILURES.ordinal()) { execution.setMessage(exceptionWriter.toString()); } } execution.setEndDate(new Date()); } } if (hasToBeRegistered(execution)) { execution = taskExecDAO.save(execution); } return execution; }
From source file:com.rxx.common.util.MailUtil.java
/** * html// w w w . jav a 2 s .co m * * @param host * @param port * @param userName * @param password * @param title * @param contenthtml * @param imgs * @param toUser * @throws javax.mail.MessagingException */ public static void sendNews(String host, int port, String userName, String password, String title, String content, List<String> imgs, String[] toUser) throws MessagingException, javax.mail.MessagingException { JavaMailSenderImpl senderImpl = new JavaMailSenderImpl(); // mail server senderImpl.setHost(host); // ,html MimeMessage mailMessage = senderImpl.createMimeMessage(); // boolean,MimeMessageHelpertrue // multipart MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage, true); // messageHelper.setTo(toUser); messageHelper.setFrom(userName); messageHelper.setSubject(title); // true HTML messageHelper.setText(content, true); int i = 0; for (String imagePath : imgs) { FileSystemResource img = new FileSystemResource(new File(imagePath)); messageHelper.addInline(i + "", img); i++; } 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); // senderImpl.send(mailMessage); }
From source file:gr.abiss.calipso.service.EmailService.java
@Async public void sendEmail(final String subject, final String templateName, String emailTo, String emailFrom, final Context ctx) { try {/*from ww w .j a v a 2s . c om*/ // Prepare message using a Spring helper final MimeMessage mimeMessage = this.mailSender.createMimeMessage(); final MimeMessageHelper message = new MimeMessageHelper(mimeMessage, "UTF-8"); message.setSubject(subject); message.setFrom(emailFrom); message.setTo(emailTo); ctx.setVariable("baseUrl", this.baseUrl); // Create the HTML body using Thymeleaf final String htmlContent = this.templateEngine.process(templateName, ctx); if (LOGGER.isDebugEnabled()) { LOGGER.debug("Sending email body: " + htmlContent); } message.setText(htmlContent, true /* isHtml */); // Send email if (StringUtils.isNotBlank(ConfigurationFactory.getConfiguration().getString("mail.server.host"))) { this.mailSender.send(mimeMessage); } else { LOGGER.warn("Skipped sending email as mail.server.host property is empty"); } } catch (Exception e) { LOGGER.error("Failed to send email: ", e); } }
From source file:org.jasig.portlet.blackboardvcportlet.service.impl.MailTemplateServiceImpl.java
public void sendMail(final MailTask mt) { try {/*from w w w. j a v a 2s. c om*/ MimeMessagePreparator messagePreparator = new MimeMessagePreparator() { public void prepare(MimeMessage mimeMessage) throws Exception { MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true); if (mt.getMeetingInvite() != null) { CalendarOutputter outputter = new CalendarOutputter(); ByteArrayOutputStream os = new ByteArrayOutputStream(); outputter.setValidating(false); outputter.output(mt.getMeetingInvite(), os); message.addAttachment("invite.ics", new ByteArrayResource(os.toByteArray())); } message.setFrom(mt.getFrom() != null ? mt.getFrom() : defaultFromAddress); if (mt.getTo() != null) { String[] toArray = mt.getTo().toArray(new String[mt.getTo().size()]); message.setTo(toArray); } if (mt.getSubject() != null) { message.setSubject(mt.getSubject()); } else { switch (mt.getTemplate()) { case MODERATOR: message.setSubject(moderatorSubject); break; case INTERNAL_PARTICIPANT: message.setSubject(internalParticipantSubject); break; case EXTERNAL_PARTICIPANT: message.setSubject(externalParticipantSubject); break; case SESSION_DELETION: message.setSubject(sessionDeletionSubject); break; default: message.setSubject(""); } } message.setText(buildEmailMessage(mt), false); } }; mailSender.send(messagePreparator); } catch (Exception e) { logger.error("Issue with sending email", e); } }
From source file:com.ushahidi.swiftriver.core.mail.EmailHelper.java
private MimeMessagePreparator getMimeMessagePreparator(final User user, final String subject, final String mailBody) { MimeMessagePreparator preparator = new MimeMessagePreparator() { public void prepare(MimeMessage mimeMessage) throws Exception { MimeMessageHelper mimeHelper = new MimeMessageHelper(mimeMessage, true); mimeHelper.setFrom(senderAddress); mimeHelper.setTo(user.getEmail()); mimeHelper.setReplyTo(senderAddress); mimeHelper.setSubject(subject); mimeHelper.setText(mailBody, true); }//w ww . ja v a 2s.c o m }; return preparator; }