List of usage examples for org.springframework.mail.javamail MimeMessageHelper setSubject
public void setSubject(String subject) throws MessagingException
From source file:csns.util.EmailUtils.java
public boolean sendHtmlMail(Email email) { MimeMessage message = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message); try {//from w w w . ja v a2 s. co m message.setContent(getHtml(email), "text/html"); helper.setSubject(email.getSubject()); helper.setFrom(email.getAuthor().getPrimaryEmail()); helper.setCc(email.getAuthor().getPrimaryEmail()); String addresses[] = getAddresses(email.getRecipients(), email.isUseSecondaryEmail()) .toArray(new String[0]); if (addresses.length > 1) { helper.setTo(appEmail); helper.setBcc(addresses); } else helper.setTo(addresses); mailSender.send(message); logger.info(email.getAuthor().getUsername() + " sent email to " + StringUtils.arrayToCommaDelimitedString(addresses)); return true; } catch (MessagingException e) { logger.warn("Fail to send MIME message", e); } return false; }
From source file:com.newinit.email.MailServiceImpl.java
/** * envo de email con attachments/*from w ww . ja va2 s . co m*/ * * @param to correo electrnico del destinatario * @param subject asunto del mensaje * @param text cuerpo del mensaje * @param attachments ficheros que se anexarn al mensaje */ @Override public void send(String to, String subject, String text, File... attachments) { // chequeo de parmetros Assert.hasLength(to, "email 'to' needed"); Assert.hasLength(subject, "email 'subject' needed"); Assert.hasLength(text, "email 'text' needed"); // asegurando la trazabilidad if (log.isDebugEnabled()) { final boolean usingPassword = !"".equals(mailSender.getPassword()); log.debug("Sending email to: '" + to + "' [through host: '" + mailSender.getHost() + ":" + mailSender.getPort() + "', username: '" + mailSender.getUsername() + "' usingPassword:" + usingPassword + "]."); log.debug("isActive: " + active); } // el servicio esta activo? if (!active) { return; } // plantilla para el envo de email final MimeMessage message = mailSender.createMimeMessage(); try { // el flag a true indica que va a ser multipart final MimeMessageHelper helper = new MimeMessageHelper(message, true); // settings de los parmetros del envo helper.setTo(to); helper.setSubject(subject); helper.setFrom(getFrom()); helper.setText(text); // adjuntando los ficheros if (attachments != null) { for (int i = 0; i < attachments.length; i++) { FileSystemResource file = new FileSystemResource(attachments[i]); helper.addAttachment(attachments[i].getName(), file); if (log.isDebugEnabled()) { log.debug("File '" + file + "' attached."); } } } } catch (MessagingException e) { new RuntimeException(e); } // el envo this.mailSender.send(message); }
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;/*www.j a v a 2s .c om*/ 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:de.hska.ld.core.service.impl.MailServiceImpl.java
@Override public void sendMail(String fullName, String email, String templateFileName, Map<String, Object> model) { ;/* w w w. j a v a 2 s. c o m*/ if (Boolean.parseBoolean(env.getProperty("email.enabled"))) { Locale locale = LocaleContextHolder.getLocale(); ResourceBundle bundle = ResourceBundle.getBundle("messages", locale); model.put("dear", bundle.getString("email.dear")); model.put("fullName", fullName); model.put("greeting", bundle.getString("email.greeting")); String text = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, "templates/mail/" + templateFileName, "UTF-8", model); Properties properties = getMailProperties(); Session session = Session.getInstance(properties, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(MAIL_PROPERTIES.getProperty("email.username"), MAIL_PROPERTIES.getProperty("email.password")); } }); try { MimeMessage message = new MimeMessage(session); MimeMessageHelper helper = new MimeMessageHelper(message, true); helper.setFrom(MAIL_PROPERTIES.getProperty("email.from.system")); helper.setTo(email); helper.setSubject(model.containsKey("subject") ? (String) model.get("subject") : ""); helper.setText(text, true); Transport.send(message); } catch (MessagingException e) { e.printStackTrace(); } } }
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 www .ja v a 2 s . c o m // 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:nu.yona.server.email.EmailService.java
public void prepareMimeMessage(MimeMessage mimeMessage, String senderName, InternetAddress receiverAddress, String subjectTemplateName, String bodyTemplateName, Map<String, Object> templateParameters) throws MessagingException, UnsupportedEncodingException { Context ctx = ThymeleafUtil.createContext(); ctx.setVariable("includedMediaBaseUrl", yonaProperties.getEmail().getIncludedMediaBaseUrl()); ctx.setVariable("appleAppStoreUrl", yonaProperties.getEmail().getAppleAppStoreUrl()); ctx.setVariable("googlePlayStoreUrl", yonaProperties.getEmail().getGooglePlayStoreUrl()); templateParameters.entrySet().stream().forEach(e -> ctx.setVariable(e.getKey(), e.getValue())); String subjectText = emailTemplateEngine.process(subjectTemplateName + ".txt", ctx); String bodyText = emailTemplateEngine.process(bodyTemplateName + ".html", ctx); MimeMessageHelper message = new MimeMessageHelper(mimeMessage); message.setFrom(new InternetAddress(yonaProperties.getEmail().getSenderAddress(), senderName)); message.setTo(receiverAddress);//from w w w . j av a 2s . c o m message.setSubject(subjectText); message.setText(bodyText, true); }
From source file:com.github.dactiv.common.spring.mail.JavaMailService.java
/** * ??//from ww w .jav a 2s . c o m * * @param sendTo ?? * @param sendFrom ? * @param subject * @param content * @param attachment mapkey????value????? */ private void doSend(String sendTo, String sendFrom, String subject, String content, Map<String, File> attachment) { try { MimeMessage msg = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(msg, true, encoding); helper.setTo(sendTo); helper.setFrom(sendFrom); helper.setSubject(subject); helper.setText(content, true); if (!MapUtils.isEmpty(attachment)) { for (Entry<String, File> entry : attachment.entrySet()) { helper.addAttachment(entry.getKey(), entry.getValue()); } } mailSender.send(msg); logger.info("???"); } catch (MessagingException e) { logger.error("", e); } catch (Exception e) { logger.error("??", e); } }
From source file:com.epam.ta.reportportal.util.email.EmailService.java
/** * User creation confirmation email//from ww w .j a v a 2 s .c o m * * @param subject Letter's subject * @param recipients Letter's recipients * @param url ReportPortal URL */ public void sendConfirmationEmail(final String subject, final String[] recipients, final String url) { MimeMessagePreparator preparator = mimeMessage -> { URL logoImg = this.getClass().getClassLoader().getResource(LOGO); MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true, "utf-8"); message.setSubject(subject); message.setTo(recipients); setFrom(message); Map<String, Object> email = new HashMap<>(); email.put("url", url); String text = templateEngine.merge("registration-template.vm", email); message.setText(text, true); message.addInline("logoimg", new UrlResource(logoImg)); }; this.send(preparator); }
From source file:com.enonic.cms.core.mail.AbstractSendMailService.java
public final void sendMail(AbstractMailTemplate template) { try {//from w ww .j a v a2 s . co m MessageSettings settings = new MessageSettings(); setFromSettings(template, settings); settings.setBody(template.getBody()); final MimeMessageHelper message = createMessage(settings, template.isHtml() || !template.getAttachments().isEmpty()); message.setSubject(template.getSubject()); final Map<String, InputStream> attachments = template.getAttachments(); for (final Map.Entry<String, InputStream> attachment : attachments.entrySet()) { message.addAttachment(attachment.getKey(), new ByteArrayResource(IOUtils.toByteArray(attachment.getValue()))); } if (template.isHtml()) { message.setText("[You need html supported mail client to read this email]", template.getBody()); } else { message.setText(template.getBody()); } if (template.getMailRecipients().size() == 0) { this.log.info("No recipients specified, mail not sent."); } for (MailRecipient recipient : template.getMailRecipients()) { if (recipient.getEmail() != null) { final MailRecipientType type = recipient.getType(); switch (type) { case TO_RECIPIENT: message.addTo(recipient.getEmail(), recipient.getName()); break; case BCC_RECIPIENT: message.addBcc(recipient.getEmail(), recipient.getName()); break; case CC_RECIPIENT: message.addCc(recipient.getEmail(), recipient.getName()); break; default: throw new RuntimeException("Unknown recipient type: " + type); } } } sendMessage(message); } catch (Exception e) { this.log.error("Failed to send mail", e); } }
From source file:com.epam.ta.reportportal.util.email.EmailService.java
public void sendConfirmationEmail(CreateUserRQFull req, String basicUrl) { MimeMessagePreparator preparator = mimeMessage -> { URL logoImg = this.getClass().getClassLoader().getResource(LOGO); MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true, "utf-8"); message.setSubject("Welcome to Report Portal"); message.setTo(req.getEmail());/*from www . jav a 2 s . co m*/ setFrom(message); Map<String, Object> email = new HashMap<>(); email.put("url", basicUrl); email.put("login", normalizeUsername(req.getLogin())); email.put("password", req.getPassword()); String text = templateEngine.merge("create-user-template.vm", email); message.setText(text, true); message.addInline("logoimg", new UrlResource(logoImg)); }; this.send(preparator); }