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:eu.openanalytics.rsb.component.EmailDepositHandler.java

public void handleResult(final MultiFilesResult result) throws MessagingException, IOException {
    final Serializable responseBody = result.getMeta().get(EMAIL_BODY_META_NAME);
    final String responseText = responseBody instanceof File ? FileUtils.readFileToString((File) responseBody)
            : responseBody.toString();//  w ww  . j ava  2 s.  co m

    final MimeMessage mimeMessage = mailSender.createMimeMessage();
    final MimeMessageHelper mmh = new MimeMessageHelper(mimeMessage, true);

    mmh.setFrom((String) result.getMeta().get(EMAIL_ADDRESSEE_META_NAME));
    mmh.setTo((String) result.getMeta().get(EMAIL_REPLY_TO_META_NAME));
    mmh.setCc((String[]) result.getMeta().get(EMAIL_REPLY_CC_META_NAME));
    mmh.setSubject("RE: " + result.getMeta().get(EMAIL_SUBJECT_META_NAME));

    if (result.isSuccess()) {
        mmh.setText(responseText);
        for (final File resultFile : result.getPayload()) {
            mmh.addAttachment(resultFile.getName(), resultFile);
        }
    } else {
        mmh.setText(FileUtils.readFileToString(result.getPayload()[0]));
    }

    final Message<MimeMailMessage> message = new GenericMessage<MimeMailMessage>(new MimeMailMessage(mmh));
    outboundEmailChannel.send(message);
}

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

public void sendUserPassword(User user, String clearText) {
    if (sender == null) {
        logger.warn("mail sender is null, not sending new user / password change notification");
        return;/*from w w w . j a va 2  s .c om*/
    }
    if (logger.isDebugEnabled()) {
        logger.debug("attempting to send mail for user password");
    }
    Locale locale = getUserLocale(user);
    try {
        MimeMessage message = sender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8");
        helper.setTo(user.getEmail());
        helper.setSubject(prefix + " " + fmt("loginMailSubject", locale));
        StringBuffer sb = new StringBuffer();
        String greeting = fmt("loginMailGreeting", locale);
        if (org.apache.commons.lang.StringUtils.isNotBlank(greeting)) {
            sb.append("<p>" + fmt("loginMailGreeting", locale) + " " + user.getName() + ",</p>");
        }
        sb.append("<p>" + fmt("loginMailLine1", locale) + "</p>");
        sb.append("<table class='calipsoService'>");
        sb.append("<tr><th style='background: #CCCCCC'>" + fmt("loginName", locale)
                + ":&nbsp;</th><td style='border: 1px solid black'>" + user.getLoginName()
                + "&nbsp;</td></tr>");
        sb.append("<tr><th style='background: #CCCCCC'>" + fmt("password", locale)
                + ":&nbsp;</th><td style='border: 1px solid black'>" + clearText + "&nbsp;</td></tr>");
        sb.append("</table>");
        sb.append("<p>" + fmt("loginMailLine2", locale) + "</p>");
        sb.append("<p><a href='" + url + "'>" + url + "</a></p>");
        sb.append("<p>" + fmt("loginMailLine3", locale) + "</p>");
        helper.setText(addHeaderAndFooter(sb), true);
        helper.setSentDate(new Date());
        // helper.setCc(from);
        helper.setFrom(from);
        sendInNewThread(message);
    } catch (Exception e) {
        logger.error("failed to prepare e-mail", e);
    }
}

From source file:com.exp.tracker.utils.EmailUtility.java

/**
 * Sends an email./*from w  w w .  j  a  va  2 s . c  o m*/
 * 
 * @param emailIdStrings
 *            A String array containing a list of email addresses.
 * @param emailSubject
 *            The subject of the email.
 * @param messageContent
 *            The message body.
 * @param emailAttachments
 *            A map containing any attachments. The key should be the file
 *            name. The value os a byte[] containing the binary
 *            representation of the attachment.
 * @throws EmailCommunicationException
 *             If any exception occurs.
 */
public void sendEmail(String[] emailIdStrings, String emailSubject, String messageContent,
        Map<String, byte[]> emailAttachments) throws EmailCommunicationException {
    if (null == emailIdStrings) {
        throw new EmailCommunicationException("Null array passed to this method.");
    }
    if (emailIdStrings.length == 0) {
        throw new EmailCommunicationException("No email addresses were provided. Array was empty.");
    }
    if (logger.isDebugEnabled()) {
        logger.debug("About to send an email.");
    }

    MimeMessage mimeMessage = javaMailSender.createMimeMessage();
    try {
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);

        helper.setFrom(fromAccount, fromName);
        InternetAddress[] toListArray = new InternetAddress[emailIdStrings.length];
        for (int i = 0; i < emailIdStrings.length; i++) {
            toListArray[i] = new InternetAddress(emailIdStrings[i]);
        }
        //To
        helper.setTo(toListArray);
        //Subject
        helper.setSubject(emailSubject);
        //Body
        helper.setText(messageContent, true);
        //Attachments
        if (null != emailAttachments) {
            Set<String> attachmentFileNames = emailAttachments.keySet();
            for (String fileName : attachmentFileNames) {
                helper.addAttachment(fileName,
                        new ByteArrayDataSource(emailAttachments.get(fileName), "application/octet-stream"));
            }
        }

        javaMailSender.send(mimeMessage);
        System.out.println("Mail sent successfully.");
    } catch (MessagingException e) {
        throw new EmailCommunicationException("Error sending email.", e);
    } catch (UnsupportedEncodingException e) {
        throw new EmailCommunicationException("Error sending email. Unsupported encoding.", e);
    }
}

From source file:mx.edu.um.mateo.rh.web.JefeSeccionController.java

private void enviaCorreo(String tipo, List<JefeSeccion> jefeSeccions, HttpServletRequest request)
        throws JRException, MessagingException {
    log.debug("Enviando correo {}", tipo);
    byte[] archivo = null;
    String tipoContenido = null;/*from www  . j  a v a2  s.  co  m*/
    switch (tipo) {
    case "PDF":
        archivo = generaPdf(jefeSeccions);
        tipoContenido = "application/pdf";
        break;
    case "CSV":
        archivo = generaCsv(jefeSeccions);
        tipoContenido = "text/csv";
        break;
    case "XLS":
        archivo = generaXls(jefeSeccions);
        tipoContenido = "application/vnd.ms-excel";
    }

    MimeMessage message = mailSender.createMimeMessage();
    MimeMessageHelper helper = new MimeMessageHelper(message, true);
    helper.setTo(ambiente.obtieneUsuario().getUsername());
    String titulo = messageSource.getMessage("jefeSeccion.lista.label", null, request.getLocale());
    helper.setSubject(messageSource.getMessage("envia.correo.titulo.message", new String[] { titulo },
            request.getLocale()));
    helper.setText(messageSource.getMessage("envia.correo.contenido.message", new String[] { titulo },
            request.getLocale()), true);
    helper.addAttachment(titulo + "." + tipo, new ByteArrayDataSource(archivo, tipoContenido));
    mailSender.send(message);
}

From source file:org.topazproject.ambra.email.impl.FreemarkerTemplateMailer.java

/**
 * Mail the email formatted using the given templates
 * @param toEmailAddresses List of email addresses to which emails should be sent.  White space delimited.
 * @param fromEmailAddress fromEmailAddress
 * @param subject subject of the email//  www .ja  v a 2s . c  o m
 * @param context context to set the values from for the template
 * @param textTemplateFilename textTemplateFilename
 * @param htmlTemplateFilename htmlTemplateFilename
 */
public void mail(final String toEmailAddresses, final String fromEmailAddress, final String subject,
        final Map<String, Object> context, final String textTemplateFilename,
        final String htmlTemplateFilename) {
    final StringTokenizer emailTokens = new StringTokenizer(toEmailAddresses);

    while (emailTokens.hasMoreTokens()) {
        final String toEmailAddress = emailTokens.nextToken();
        final MimeMessagePreparator preparator = new MimeMessagePreparator() {
            public void prepare(final MimeMessage mimeMessage) throws MessagingException, IOException {
                final MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true,
                        configuration.getDefaultEncoding());
                message.setTo(new InternetAddress(toEmailAddress));
                message.setFrom(new InternetAddress(fromEmailAddress, (String) context.get(USER_NAME_KEY)));
                message.setSubject(subject);

                // Create a "text" Multipart message
                final Multipart mp = createPartForMultipart(textTemplateFilename, context, "alternative",
                        MIME_TYPE_TEXT_PLAIN + "; charset=" + configuration.getDefaultEncoding());

                // Create a "HTML" Multipart message
                final Multipart htmlContent = createPartForMultipart(htmlTemplateFilename, context, "related",
                        MIME_TYPE_TEXT_HTML + "; charset=" + configuration.getDefaultEncoding());

                final BodyPart htmlPart = new MimeBodyPart();
                htmlPart.setContent(htmlContent);
                mp.addBodyPart(htmlPart);

                mimeMessage.setContent(mp);
            }
        };
        mailSender.send(preparator);
        if (log.isDebugEnabled()) {
            log.debug("Mail sent to:" + toEmailAddress);
        }
    }
}

From source file:mx.edu.um.mateo.rh.web.CategoriaController.java

private void enviaCorreo(String tipo, List<Categoria> categorias, HttpServletRequest request)
        throws JRException, MessagingException {
    log.debug("Enviando correo {}", tipo);
    byte[] archivo = null;
    String tipoContenido = null;//from   w  w  w  .  j  a va2 s .  c o  m
    switch (tipo) {
    case "PDF":
        archivo = generaPdf(categorias);
        tipoContenido = "application/pdf";
        break;
    case "CSV":
        archivo = generaCsv(categorias);
        tipoContenido = "text/csv";
        break;
    case "XLS":
        archivo = generaXls(categorias);
        tipoContenido = "application/vnd.ms-excel";
    }

    MimeMessage message = mailSender.createMimeMessage();
    MimeMessageHelper helper = new MimeMessageHelper(message, true);
    helper.setTo(ambiente.obtieneUsuario().getUsername());
    String titulo = messageSource.getMessage("categoria.lista.label", null, request.getLocale());
    helper.setSubject(messageSource.getMessage("envia.correo.titulo.message", new String[] { titulo },
            request.getLocale()));
    helper.setText(messageSource.getMessage("envia.correo.contenido.message", new String[] { titulo },
            request.getLocale()), true);
    helper.addAttachment(titulo + "." + tipo, new ByteArrayDataSource(archivo, tipoContenido));
    mailSender.send(message);
}

From source file:com.campodejazayeri.wedding.AdminController.java

private void sendEmail(String to, String subject, String body) throws Exception {
    MimeMessage msg = mailSender.createMimeMessage();
    MimeMessageHelper helper = new MimeMessageHelper(msg, "UTF-8");
    helper.setFrom("Darius and Monica <campodejazayeri@gmail.com>");
    helper.setTo(to);//from  www.j a v  a  2s .co m
    helper.setSubject(subject);
    helper.setText(body);
    mailSender.send(msg);
}

From source file:com.jaspersoft.jasperserver.api.engine.scheduling.quartz.ReportExecutionJobAlertImpl.java

public void sendAlertMail(Job job, ReportJob jobDetails, List<ExceptionInfo> exceptions,
        JavaMailSender mailSender, String fromAddress, String[] toAddresses, String characterEncoding)
        throws JobExecutionException {
    ReportJobAlert alert = jobDetails.getAlert();
    boolean isSucceed = exceptions.isEmpty();
    switch (alert.getJobState()) {
    case FAIL_ONLY:
        if (isSucceed)
            return;
        break;/* www.ja va2  s .  c  om*/
    case SUCCESS_ONLY:
        if (!isSucceed)
            return;
        break;
    case NONE:
        return;
    }
    if (alert != null) {
        try {
            MimeMessage message = mailSender.createMimeMessage();
            MimeMessageHelper messageHelper = new MimeMessageHelper(message, true, characterEncoding);
            messageHelper.setFrom(fromAddress);
            String subject = alert.getSubject();
            if ((subject == null) && (job instanceof ReportExecutionJob))
                subject = ((ReportExecutionJob) job).getMessage("report.scheduling.job.default.alert.subject",
                        null);
            messageHelper.setSubject(subject);

            StringBuffer messageText = new StringBuffer();

            String text = (isSucceed ? alert.getMessageText() : alert.getMessageTextWhenJobFails());
            if (text != null) {
                messageText.append(text);
            }
            messageHelper.setTo(toAddresses);

            if (alert.isIncludingReportJobInfo()) {
                messageText.append("\n");
                messageText.append("ReportJob Info:").append("\n");
                messageText.append("Label = ").append(jobDetails.getLabel()).append("\n");
                messageText.append("ID = ").append(jobDetails.getId()).append("\n");
                messageText.append("Description = ").append(jobDetails.getDescription()).append("\n");
                messageText.append("Status = ").append(exceptions.isEmpty() ? "PASS" : "FAIL").append("\n");
            }

            if (alert.isIncludingStackTrace()) {
                if (!exceptions.isEmpty()) {
                    for (Iterator it = exceptions.iterator(); it.hasNext();) {
                        ExceptionInfo exception = (ExceptionInfo) it.next();

                        messageText.append("\n");
                        messageText.append(exception.getMessage());

                        attachException(messageHelper, exception);
                    }
                }
            }
            messageHelper.setText(messageText.toString());
            mailSender.send(message);
        } catch (MessagingException e) {
            log.error("Error while sending report job alert notification", e);
            throw new JSExceptionWrapper(e);
        }
    }
}

From source file:hornet.framework.mail.MailServiceImpl.java

/**
 * {@inheritDoc}/* w w  w  .  ja  va2  s. c om*/
 */
@Override
public void envoyer(final String expediteur, final String sujet, final String message,
        final Map<String, Object> paramMap, final String... destinataires) {

    try {
        final Session session = ((JavaMailSenderImpl) mailSender).getSession();
        HornetMimeMessage mMessage = null;
        if (messageIdDomainName == null || messageIdDomainName.length() == 0) {
            mMessage = new HornetMimeMessage(nomApplication, session);
        } else {
            mMessage = new HornetMimeMessage(nomApplication, messageIdDomainName, session);
        }

        mMessage.setHeader("Content-Type", "text/html");
        final MimeMessageHelper helper = new MimeMessageHelper(mMessage, true, CharEncoding.UTF_8);

        addExtraSmtpField(paramMap, helper);

        helper.setFrom(expediteur);

        ajouterDestinataires(helper, destinataires);

        helper.setSubject(sujet);
        // message aux formats texte et html
        helper.setText(preparerMessageTexte(message), preparerMessageHTML(message));

        mailSender.send(mMessage);
    } catch (final MailSendException mse) {
        throw toBusinessException(mse);
    } catch (final Exception e) {
        throw new BusinessException("erreur.envoi.courriel", e);
    }
}

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

/** 
 * {@inheritDoc}//from w  w w  .ja v a2  s  . c  o  m
 * @see com.mobileman.projecth.business.MailManager#sendMessage(java.lang.String, java.lang.String, java.lang.String, java.lang.String)
 */
@Override
public void sendMessage(final String senderEmail, final String receiverEmail, final String subject,
        final String body) {
    if (log.isDebugEnabled()) {
        log.debug("sendMessage(" + senderEmail + ", " + receiverEmail + ", " + subject + ", " + body
                + ") - 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.setSubject(subject);
            messageHelper.setTo(receiverEmail);

            if (senderEmail == null || senderEmail.trim().length() == 0) {
                messageHelper.setFrom("projecth@projecth.com");
            } else {
                messageHelper.setFrom(senderEmail);
            }

            String textMessage = HTMLTextParser.htmlToText(body);
            messageHelper.setText(textMessage, body);

            if (log.isDebugEnabled()) {
                log.debug("$MimeMessagePreparator.prepare(MimeMessage) - returns"); //$NON-NLS-1$
            }
        }
    };

    this.mailSender.send(preparator);

    if (log.isDebugEnabled()) {
        log.debug("sendMessage(...) - end");
    }
}