Example usage for org.springframework.mail.javamail MimeMessageHelper setSubject

List of usage examples for org.springframework.mail.javamail MimeMessageHelper setSubject

Introduction

In this page you can find the example usage for org.springframework.mail.javamail MimeMessageHelper setSubject.

Prototype

public void setSubject(String subject) throws MessagingException 

Source Link

Document

Set the subject of the message, using the correct encoding.

Usage

From source file:cz.zcu.kiv.eegdatabase.logic.controller.article.AddArticleController.java

private void sendNotification(String email, Article article, HttpServletRequest request)
        throws MessagingException {
    String articleURL = "http://" + domain + "/articles/detail.html?articleId=" + article.getArticleId();
    //System.out.println(articleURL);
    String subject = messageSource.getMessage("articles.group.email.subscribtion.subject",
            new String[] { article.getTitle(), article.getPerson().getUsername() },
            RequestContextUtils.getLocale(request));
    //System.out.println(subject);
    String emailBody = "<html><body>";

    emailBody += "<p>" + messageSource.getMessage("articles.comments.email.subscribtion.body.text.part1",
            new String[] { article.getTitle() }, RequestContextUtils.getLocale(request)) + "";
    emailBody += "&nbsp;(<a href=\"" + articleURL + "\" target=\"_blank\">" + articleURL + "</a>)</p><br />";
    emailBody += "<h3>" + article.getTitle() + "</h3> <p>" + article.getText() + "</p><br />";
    emailBody += "<p>" + messageSource.getMessage("articles.comments.email.subscribtion.body.text.part2", null,
            RequestContextUtils.getLocale(request)) + "</p>";
    emailBody += "</body></html>";

    //System.out.println(emailBody);
    log.debug("email body: " + emailBody);

    log.debug("Composing e-mail message");
    MimeMessage mimeMessage = mailSender.createMimeMessage();

    MimeMessageHelper message = new MimeMessageHelper(mimeMessage);
    message.setFrom(mailMessage.getFrom());

    //  message.setContent("text/html");
    message.setTo(email);//from   w  w  w .j  a  va  2s.c om
    //helper.setFrom(messageSource.getMessage("registration.email.from", null, RequestContextUtils.getLocale(request)));
    message.setSubject(subject);
    message.setText(emailBody, true);

    try {
        log.debug("Sending e-mail" + message);
        log.debug("mailSender" + mailSender);
        log.debug("smtp " + mailSender.getHost());
        mailSender.send(mimeMessage);
        log.debug("E-mail was sent");
    } catch (MailException e) {
        log.error("E-mail was NOT sent");
        log.error(e);
    }
}

From source file:gr.abiss.calipso.mail.MailSender.java

/**
 * /*from  w  w  w .j  a va  2s. co  m*/
 * @param email
 * @param subject
 * @param messageBody
 * @param attachments
 * @param encryption
 * @param keyStorePath
 */
public void send(String email, String subject, String messageBody, Map<String, DataSource> attachments,
        boolean html) {
    // prepare message
    try {
        MimeMessage message = sender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8");
        if (html) {
            helper.setText(addHeaderAndFooter(messageBody), true);
        } else {
            helper.setText(messageBody, false);
        }
        helper.setSubject(subject);
        helper.setSentDate(new Date());
        helper.setFrom(from);
        // set TO
        helper.setTo(email);
        if (MapUtils.isNotEmpty(attachments)) {
            for (String attachmentFilename : attachments.keySet()) {
                DataSource in = attachments.get(attachmentFilename);
                if (in != null) {
                    helper.addAttachment(attachmentFilename, in);
                }
            }
        }

        //logger.info("Sending email: "+subject+"\n"+messageBody);
        sendInNewThread(message);
    } catch (Exception e) {
        logger.error("failed to prepare e-mail", e);
    }
}

From source file:com.mobileman.projecth.business.impl.MailManagerImpl.java

/** 
 * {@inheritDoc}/* w ww . jav  a  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  w ww  .  j  ava2 s  . 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:com.mobileman.projecth.business.impl.MailManagerImpl.java

/** 
 * {@inheritDoc}//w  w  w .j a va 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:com.springstudy.utils.email.MimeMailService.java

/**
 * ??MIME?.//from ww  w . ja  v  a  2 s  .  co m
 */
public boolean sendNotificationMail(com.gmk.framework.common.utils.email.Email email) {
    try {
        MimeMessage msg = mailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(msg, true, DEFAULT_ENCODING);
        //??????
        String from = Global.getConfig("productName");
        if (StringUtils.isNotEmpty(email.getFrom())) {
            from = from + "-" + email.getFrom();
        }
        helper.setFrom(Global.getConfig("mailFrom"), from);
        helper.setTo(email.getAddress());
        if (StringUtils.isNotEmpty(email.getCc())) {
            String cc[] = email.getCc().split(";");
            helper.setCc(cc);//?
        }
        //
        helper.setSubject(email.getSubject());
        //
        if (StringUtils.isNotEmpty(email.getTemplate())) {
            String content = generateContent(email.getTemplate(), email.getContentMap());
            helper.setText(content, true);
        } else {
            helper.setText(email.getContent());
        }
        //
        if (ListUtils.isNotEmpty(email.getAttachment())) {
            for (File file : email.getAttachment()) {
                helper.addAttachment(MimeUtility.encodeWord(file.getName()), file);
            }
        }
        mailSender.send(msg);
        logger.info("HTML??");
        return true;
    } catch (MessagingException e) {
        logger.error(email.getAddressee() + "-" + email.getSubject() + "-" + "", e);
    } catch (Exception e) {
        logger.error(email.getAddressee() + "-" + email.getSubject() + "-" + "??", e);
    }
    return false;
}

From source file:it.jugpadova.blo.JuggerBo.java

/**
 * General jugger mail sender//  w  w w  . ja  va 2s  .  c o m
 *
 * @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   w  ww .  ja  v a  2 s . 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: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 . j  av  a  2s  .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);
    }
}