List of usage examples for org.springframework.mail.javamail MimeMessageHelper setFrom
public void setFrom(String from) throws MessagingException
From source file:com.github.dactiv.fear.service.service.message.MessageService.java
/** * ??/*w w w . j a v a 2s . c om*/ * * @param nickname ?? null * @param mail */ private void doSendMail(String nickname, Mail mail) { try { JavaMailSender mailSender = getJavaMailSender(); if (mailSender == null) { throw new ServiceException("???"); } MimeMessage msg = mailSender.createMimeMessage(); MimeMessageHelper helper; if (mailSender instanceof JavaMailSenderImpl) { JavaMailSenderImpl jmsi = (JavaMailSenderImpl) mailSender; helper = new MimeMessageHelper(msg, true, jmsi.getDefaultEncoding()); } else { helper = new MimeMessageHelper(msg, true); } helper.setTo(mail.getTo()); helper.setFrom(getSendForm(nickname, mailSender)); helper.setSubject(mail.getTitle()); helper.setText(mail.getContent(), mail.getHtml()); if (!MapUtils.isEmpty(mail.getAttachment())) { for (Map.Entry<String, File> entry : mail.getAttachment().entrySet()) { helper.addAttachment(entry.getKey(), entry.getValue()); } } mailSender.send(msg); LOGGER.info("???"); } catch (Exception e) { LOGGER.error("??", e); } }
From source file:com.mobileman.projecth.business.impl.MailManagerImpl.java
/** * {@inheritDoc}/*from w ww .ja va 2 s.c o m*/ * @see com.mobileman.projecth.business.MailManager#sendResetCredientialsEmail(User, String) */ @Override public void sendResetCredientialsEmail(final User user, final String serverDnsName) { if (log.isDebugEnabled()) { log.debug("sendResetCredientialsEmail(" + user.getId() + ", " + serverDnsName + ") - start"); } MimeMessagePreparator preparator = new MimeMessagePreparator() { @Override public void prepare(MimeMessage mimeMessage) throws Exception { if (log.isDebugEnabled()) { log.debug("$MimeMessagePreparator.prepare(MimeMessage) - start"); //$NON-NLS-1$ } MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true, EMAIL_ENCODING); messageHelper.setSentDate(new Date()); messageHelper.setTo(user.getUserAccount().getEmail()); messageHelper.setFrom("mitglied@projecth.com"); messageHelper.setSubject("Passwort zurcksetzen"); String tmpServerDnsName = serverDnsName; if (tmpServerDnsName == null || tmpServerDnsName.trim().length() == 0) { tmpServerDnsName = "projecth.de"; } Map<String, Object> model = new HashMap<String, Object>(); model.put("user", user); model.put("dns_server_name", tmpServerDnsName); String htmlMessage = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, "reset-credentials-email-body.vm", model); String textMessage = HTMLTextParser.htmlToText(htmlMessage); messageHelper.setText(textMessage, htmlMessage); if (log.isDebugEnabled()) { log.debug("$MimeMessagePreparator.prepare(MimeMessage) - returns"); //$NON-NLS-1$ } } }; this.mailSender.send(preparator); if (log.isDebugEnabled()) { log.debug("sendResetCredientialsEmail(" + user.getId() + ") - end"); } }
From source file:com.mobileman.projecth.business.impl.MailManagerImpl.java
/** * {@inheritDoc}/*from ww w . j a v a2s . c o m*/ * @see com.mobileman.projecth.business.MailManager#sendActivationEmail(User, String) */ @Override public void sendActivationEmail(final User user, final String serverDnsName) { if (log.isDebugEnabled()) { log.debug("sendActivationEmail(" + user + ", " + serverDnsName + ") - start"); } MimeMessagePreparator preparator = new MimeMessagePreparator() { /** * {@inheritDoc} * @see org.springframework.mail.javamail.MimeMessagePreparator#prepare(javax.mail.internet.MimeMessage) */ @Override public void prepare(MimeMessage mimeMessage) throws Exception { if (log.isDebugEnabled()) { log.debug("$MimeMessagePreparator.prepare(MimeMessage) - start"); //$NON-NLS-1$ } MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true, EMAIL_ENCODING); messageHelper.setSentDate(new Date()); messageHelper.setTo(user.getUserAccount().getEmail()); messageHelper.setFrom("mitglied@projecth.com"); messageHelper.setSubject("Ihre Anmeldung bei projecth"); String tmpServerDnsName = serverDnsName; if (tmpServerDnsName == null || tmpServerDnsName.trim().length() == 0) { tmpServerDnsName = "projecth.de"; } Map<String, Object> model = new HashMap<String, Object>(); model.put("user", user); model.put("dns_server_name", tmpServerDnsName); String htmlMessage = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, "sign-up-activation-email-body.vm", model); String textMessage = HTMLTextParser.htmlToText(htmlMessage); messageHelper.setText(textMessage, htmlMessage); if (log.isDebugEnabled()) { log.debug("$MimeMessagePreparator.prepare(MimeMessage) - returns"); //$NON-NLS-1$ } } }; this.mailSender.send(preparator); if (log.isDebugEnabled()) { log.debug("sendActivationEmail(User) - returns"); //$NON-NLS-1$ } }
From source file:edu.unc.lib.dl.services.MailNotifier.java
public void sendIngestSuccessNotice(IngestProperties props, int ingestedCount) { String html = null, text = null; boolean logEmail = true; MimeMessage mimeMessage = null;//from ww w. jav a 2 s.c o m try { Template htmlTemplate = this.freemarkerConfiguration.getTemplate("IngestSuccessHtml.ftl", Locale.getDefault(), "utf-8"); Template textTemplate = this.freemarkerConfiguration.getTemplate("IngestSuccessText.ftl", Locale.getDefault(), "utf-8"); // put data into the model HashMap<String, Object> model = new HashMap<String, Object>(); model.put("numberOfObjects", new Integer(ingestedCount)); model.put("irBaseUrl", this.irBaseUrl); List tops = new ArrayList(); for (ContainerPlacement p : props.getContainerPlacements().values()) { HashMap om = new HashMap(); om.put("pid", p.pid.getPid()); om.put("label", p.label); tops.add(om); } model.put("tops", tops); StringWriter sw = new StringWriter(); htmlTemplate.process(model, sw); html = sw.toString(); sw = new StringWriter(); textTemplate.process(model, sw); text = sw.toString(); } catch (IOException e1) { throw new Error("Unable to load email template for Ingest Success", e1); } catch (TemplateException e) { throw new Error("There was a problem loading FreeMarker templates for email notification", e); } try { if (log.isDebugEnabled() && this.mailSender instanceof JavaMailSenderImpl) { ((JavaMailSenderImpl) this.mailSender).getSession().setDebug(true); } mimeMessage = mailSender.createMimeMessage(); MimeMessageHelper message = new MimeMessageHelper(mimeMessage, MimeMessageHelper.MULTIPART_MODE_MIXED); for (String addy : props.getEmailRecipients()) { message.addTo(addy); } message.setSubject("CDR ingest complete"); message.setFrom(this.getRepositoryFromAddress()); message.setText(text, html); // attach Events XML // Document events = new Document(aip.getEventLogger().getAllEvents()); // message.addAttachment("events.xml", new JDOMStreamSource(events)); this.mailSender.send(mimeMessage); logEmail = false; } catch (MessagingException e) { log.error("Unable to send ingest success email.", e); } catch (RuntimeException e) { log.error(e); } finally { if (mimeMessage != null && logEmail) { try { mimeMessage.writeTo(System.out); } catch (Exception e) { log.error("Could not log email message after error.", e); } } } }
From source file:com.mobileman.projecth.business.impl.MailManagerImpl.java
/** * {@inheritDoc}//from w ww .jav a 2s .c o m * @see com.mobileman.projecth.business.MailManager#sendResetCredientialsEmail(User, String) */ @Override public void sendNewDiseaseGroupRequestEmail(final String diseaseName, final String emailAddress, final UserType userType) { if (log.isDebugEnabled()) { log.debug("sendNewDiseaseGroupRequestEmail(" + diseaseName + ", " + emailAddress + ", " + userType + ") - start"); } final Map<String, Object> model = new HashMap<String, Object>(); model.put("disease_name", diseaseName); model.put("sender_email", emailAddress); model.put("sender_user_type", (UserType.P.equals(userType) ? "Patient" : "Arzt")); MimeMessagePreparator preparator = new MimeMessagePreparator() { @Override public void prepare(MimeMessage mimeMessage) throws Exception { if (log.isDebugEnabled()) { log.debug("$MimeMessagePreparator.prepare(MimeMessage) - start"); //$NON-NLS-1$ } String subject = MessageFormat.format("Neue Gesundheitsgruppe anmelden: {0}", diseaseName); MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true, EMAIL_ENCODING); messageHelper.setSentDate(new Date()); messageHelper.setTo("mitglied@projecth.com"); messageHelper.setFrom(emailAddress); messageHelper.setSubject(subject); String htmlMessage = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, "request-new-disease-group-system-email-body.vm", model); String textMessage = HTMLTextParser.htmlToText(htmlMessage); messageHelper.setText(textMessage, htmlMessage); if (log.isDebugEnabled()) { log.debug("$MimeMessagePreparator.prepare(MimeMessage) - returns"); //$NON-NLS-1$ } } }; this.mailSender.send(preparator); preparator = new MimeMessagePreparator() { @Override public void prepare(MimeMessage mimeMessage) throws Exception { if (log.isDebugEnabled()) { log.debug("$MimeMessagePreparator.prepare(MimeMessage) - start"); //$NON-NLS-1$ } String subject = MessageFormat.format("Anfrage zur Erweiterung von projecth mit {0}", diseaseName); MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true, EMAIL_ENCODING); messageHelper.setSentDate(new Date()); messageHelper.setTo(emailAddress); messageHelper.setFrom("gesundheitsgruppen@projecth.com"); messageHelper.setSubject(subject); String htmlMessage = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, "request-new-disease-group-sender-email-body.vm", model); String textMessage = HTMLTextParser.htmlToText(htmlMessage); messageHelper.setText(textMessage, htmlMessage); if (log.isDebugEnabled()) { log.debug("$MimeMessagePreparator.prepare(MimeMessage) - returns"); //$NON-NLS-1$ } } }; this.mailSender.send(preparator); if (log.isDebugEnabled()) { log.debug("sendNewDiseaseGroupRequestEmail(...) - end"); } }
From source file:de.thm.arsnova.service.UserServiceImpl.java
private void sendEmail(UserProfile userProfile, String subject, String body) { MimeMessage msg = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(msg, "UTF-8"); try {/*from w ww.ja va 2 s . c o m*/ helper.setFrom(mailSenderName + "<" + mailSenderAddress + ">"); helper.setTo(userProfile.getLoginId()); helper.setSubject(subject); helper.setText(body); logger.info("Sending mail \"{}\" from \"{}\" to \"{}\"", subject, msg.getFrom(), userProfile.getLoginId()); mailSender.send(msg); } catch (MailException | MessagingException e) { logger.warn("Mail \"{}\" could not be sent.", subject, e); } }
From source file:it.jugpadova.blo.JuggerBo.java
/** * General jugger mail sender/*from w w w.j av a 2s .com*/ * * @param jugger * @param baseUrl * @param subject * @param oneWayCode * @param template */ private void sendEmail(final Jugger jugger, final String baseUrl, final String subject, final String oneWayCode, final String template) { MimeMessagePreparator preparator = new MimeMessagePreparator() { @SuppressWarnings(value = "unchecked") public void prepare(MimeMessage mimeMessage) throws Exception { MimeMessageHelper message = new MimeMessageHelper(mimeMessage); message.setTo(jugger.getEmail()); message.setFrom(conf.getConfirmationSenderEmailAddress()); message.setSubject(subject); Map model = new HashMap(); model.put("jugger", jugger); model.put("baseUrl", baseUrl); model.put("oneWayCode", URLEncoder.encode(oneWayCode, "UTF-8")); model.put("username", URLEncoder.encode(jugger.getUser().getUsername(), "UTF-8")); String text = VelocityEngineUtils.mergeTemplateIntoString(velocityEngine, template, model); message.setText(text, true); } }; this.mailSender.send(preparator); }
From source file:uk.ac.gda.dls.client.feedback.FeedbackDialog.java
@Override protected void createButtonsForButtonBar(Composite parent) { GridData data = new GridData(SWT.FILL, SWT.FILL, false, true, 4, 1); GridLayout layout = new GridLayout(5, false); parent.setLayoutData(data);/*from ww w . ja va 2s . c om*/ parent.setLayout(layout); Button attachButton = new Button(parent, SWT.TOGGLE); attachButton.setText("Attach File(s)"); attachButton.setToolTipText("Add files to feedback"); final Button screenGrabButton = new Button(parent, SWT.CHECK); screenGrabButton.setText("Include Screenshot"); screenGrabButton.setToolTipText("Send screenshot with feedback"); Label space = new Label(parent, SWT.NONE); space.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, true, true)); Button sendButton = new Button(parent, SWT.PUSH); sendButton.setText("Send"); Button cancelButton = new Button(parent, SWT.PUSH); cancelButton.setText("Cancel"); sendButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { final String name = nameText.getText(); final String email = emailText.getText(); final String subject = subjectText.getText(); final String description = descriptionText.getText(); fileList = attachedFileList.getItems(); Job job = new Job("Send feedback email") { @Override protected IStatus run(IProgressMonitor monitor) { try { final String recipientsProperty = LocalProperties.get("gda.feedback.recipients", "dag-group@diamond.ac.uk"); final String[] recipients = recipientsProperty.split(" "); for (int i = 0; i < recipients.length; i++) { recipients[i] = recipients[i].trim(); } final String from = String.format("%s <%s>", name, email); final String beamlineName = LocalProperties.get("gda.beamline.name", "Beamline Unknown"); final String mailSubject = String.format("[GDA feedback - %s] %s", beamlineName.toUpperCase(), subject); final String smtpHost = LocalProperties.get("gda.feedback.smtp.host", "localhost"); JavaMailSenderImpl mailSender = new JavaMailSenderImpl(); mailSender.setHost(smtpHost); MimeMessage message = mailSender.createMimeMessage(); final MimeMessageHelper helper = new MimeMessageHelper(message, (FeedbackDialog.this.hasFiles && fileList.length > 0) || FeedbackDialog.this.screenshot); helper.setFrom(from); helper.setTo(recipients); helper.setSubject(mailSubject); helper.setText(description); if (FeedbackDialog.this.screenshot) { PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable() { @Override public void run() { String fileName = "/tmp/feedbackScreenshot.png"; try { captureScreen(fileName); FileSystemResource file = new FileSystemResource(new File(fileName)); helper.addAttachment(file.getFilename(), file); } catch (Exception e) { logger.error("Could not attach screenshot to feedback", e); } } }); } if (FeedbackDialog.this.hasFiles) { for (String fileName : fileList) { FileSystemResource file = new FileSystemResource(new File(fileName)); helper.addAttachment(file.getFilename(), file); } } {//required to workaround class loader issue with "no object DCH..." error MailcapCommandMap mc = (MailcapCommandMap) CommandMap.getDefaultCommandMap(); mc.addMailcap( "text/plain;; x-java-content-handler=com.sun.mail.handlers.text_plain"); mc.addMailcap( "multipart/*;; x-java-content-handler=com.sun.mail.handlers.multipart_mixed"); CommandMap.setDefaultCommandMap(mc); } mailSender.send(message); return Status.OK_STATUS; } catch (Exception ex) { logger.error("Could not send feedback", ex); return new Status(IStatus.ERROR, Activator.PLUGIN_ID, 1, "Error sending email", ex); } } }; job.schedule(); setReturnCode(OK); close(); } }); cancelButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { setReturnCode(CANCEL); close(); } }); attachButton.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { hasFiles = !hasFiles; GridData data = ((GridData) attachments.getLayoutData()); data.exclude = !hasFiles; attachments.setVisible(hasFiles); topParent.layout(); } @Override public void widgetDefaultSelected(SelectionEvent e) { } }); screenGrabButton.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { screenshot = ((Button) e.widget).getSelection(); } @Override public void widgetDefaultSelected(SelectionEvent e) { } }); }
From source file:cdr.forms.EmailNotificationHandler.java
@Override public void notifyError(Deposit deposit, DepositResult result) { Form form = deposit.getForm();/*from w ww . j a va 2 s. c om*/ String formId = deposit.getFormId(); String depositorEmail = deposit.getReceiptEmailAddress(); List<String> recipients = deposit.getAllDepositNoticeToEmailAddresses(); // put data into the model HashMap<String, Object> model = new HashMap<String, Object>(); model.put("deposit", deposit); model.put("form", form); model.put("formId", formId); model.put("result", result); model.put("depositorEmail", depositorEmail); model.put("siteUrl", this.getSiteUrl()); model.put("siteName", this.getSiteName()); model.put("receivedDate", new Date(System.currentTimeMillis())); StringWriter htmlsw = new StringWriter(); StringWriter textsw = new StringWriter(); try { depositErrorHtmlTemplate.process(model, htmlsw); depositErrorTextTemplate.process(model, textsw); } catch (TemplateException e) { LOG.error("cannot process email template", e); return; } catch (IOException e) { LOG.error("cannot process email template", e); return; } try { MimeMessage mimeMessage = mailSender.createMimeMessage(); MimeMessageHelper message = new MimeMessageHelper(mimeMessage, MimeMessageHelper.MULTIPART_MODE_MIXED); if (administratorAddress != null && administratorAddress.trim().length() > 0) { message.addTo(this.administratorAddress); } for (String recipient : recipients) { message.addTo(recipient); } message.setSubject("Deposit Error for " + form.getTitle()); message.setFrom(this.getFromAddress()); message.setText(textsw.toString(), htmlsw.toString()); this.mailSender.send(mimeMessage); } catch (MessagingException e) { LOG.error("problem sending error notification message", e); return; } }
From source file:org.wallride.service.UserService.java
@CacheEvict(value = WallRideCacheConfiguration.USER_CACHE, allEntries = true) public User updatePassword(PasswordUpdateRequest request, PasswordResetToken passwordResetToken) { User user = userRepository.findOneForUpdateById(request.getUserId()); if (user == null) { throw new IllegalArgumentException("The user does not exist"); }/*from ww w . j av a 2 s. c o m*/ PasswordEncoder passwordEncoder = new StandardPasswordEncoder(); user.setLoginPassword(passwordEncoder.encode(request.getPassword())); user.setUpdatedAt(LocalDateTime.now()); user.setUpdatedBy(passwordResetToken.getUser().toString()); user = userRepository.saveAndFlush(user); passwordResetTokenRepository.delete(passwordResetToken); try { Blog blog = blogService.getBlogById(Blog.DEFAULT_ID); String blogTitle = blog.getTitle(LocaleContextHolder.getLocale().getLanguage()); ServletUriComponentsBuilder builder = ServletUriComponentsBuilder.fromCurrentContextPath(); if (blog.isMultiLanguage()) { builder.path("/{language}"); } builder.path("/login"); Map<String, Object> urlVariables = new LinkedHashMap<>(); urlVariables.put("language", request.getLanguage()); urlVariables.put("token", passwordResetToken.getToken()); String loginLink = builder.buildAndExpand(urlVariables).toString(); Context ctx = new Context(LocaleContextHolder.getLocale()); ctx.setVariable("passwordResetToken", passwordResetToken); ctx.setVariable("resetLink", loginLink); MimeMessage mimeMessage = mailSender.createMimeMessage(); MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true, "UTF-8"); // true = multipart message.setSubject(MessageFormat.format( messageSourceAccessor.getMessage("PasswordChangedSubject", LocaleContextHolder.getLocale()), blogTitle)); message.setFrom(mailProperties.getProperties().get("mail.from")); message.setTo(passwordResetToken.getEmail()); String htmlContent = templateEngine.process("password-changed", ctx); message.setText(htmlContent, true); // true = isHtml mailSender.send(mimeMessage); } catch (MessagingException e) { throw new ServiceException(e); } return user; }