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

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

Introduction

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

Prototype

public void setFrom(String from, String personal) throws MessagingException, UnsupportedEncodingException 

Source Link

Usage

From source file:org.openvpms.web.workspace.reporting.reminder.ReminderEmailProcessor.java

/**
 * Processes a list of reminder events.//w ww. j a  v  a  2  s .  c  o  m
 *
 * @param events           the events
 * @param shortName        the report archetype short name, used to select the document template if none specified
 * @param documentTemplate the document template to use. May be {@code null}
 */
protected void process(List<ReminderEvent> events, String shortName, DocumentTemplate documentTemplate) {
    ReminderEvent event = events.get(0);
    Contact contact = event.getContact();
    DocumentTemplateLocator locator = new ContextDocumentTemplateLocator(documentTemplate, shortName,
            getContext());
    documentTemplate = locator.getTemplate();
    if (documentTemplate == null) {
        throw new ReportingException(ReminderMissingDocTemplate);
    }

    try {
        EmailAddress from = addresses.getAddress(event.getCustomer());
        IMObjectBean bean = new IMObjectBean(contact);
        String to = bean.getString("emailAddress");

        MimeMessage message = sender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(message, true);
        helper.setValidateAddresses(true);
        helper.setFrom(from.getAddress(), from.getName());
        helper.setTo(to);

        String subject = documentTemplate.getEmailSubject();
        if (StringUtils.isEmpty(subject)) {
            subject = documentTemplate.getName();
        }
        String body = documentTemplate.getEmailText();
        if (StringUtils.isEmpty(body)) {
            throw new ReportingException(TemplateMissingEmailText, documentTemplate.getName());
        }
        helper.setText(body);

        final Document reminder = createReport(events, documentTemplate);
        final DocumentHandler handler = handlers.get(reminder.getName(),
                reminder.getArchetypeId().getShortName(), reminder.getMimeType());

        helper.setSubject(subject);
        helper.addAttachment(reminder.getName(), new InputStreamSource() {
            public InputStream getInputStream() {
                return handler.getContent(reminder);
            }
        });
        sender.send(message);
    } catch (ArchetypeServiceException exception) {
        throw exception;
    } catch (ReminderProcessorException exception) {
        throw exception;
    } catch (ReportingException exception) {
        throw exception;
    } catch (Throwable exception) {
        throw new ReportingException(FailedToProcessReminder, exception, exception.getMessage());
    }
}

From source file:org.openvpms.web.workspace.reporting.statement.StatementEmailProcessor.java

/**
 * Processes a statement./*from w  w  w .  j a va2  s  .c  o  m*/
 *
 * @param statement the event to process
 * @throws OpenVPMSException for any error
 */
public void process(Statement statement) {
    try {
        MimeMessage message = sender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(message, true);
        List<Contact> contacts = statement.getContacts();
        if (contacts.isEmpty()) {
            throw new StatementProcessorException(NoContact, statement.getCustomer());
        }
        Contact contact = contacts.get(0);
        IMObjectBean bean = new IMObjectBean(contact);
        if (!bean.isA(ContactArchetypes.EMAIL)) {
            throw new StatementProcessorException(NoContact, statement.getCustomer());
        }
        String to = bean.getString("emailAddress");
        EmailAddress email = addresses.getAddress(statement.getCustomer());
        helper.setFrom(email.getAddress(), email.getName());
        helper.setTo(to);
        helper.setSubject(emailSubject);
        helper.setText(emailText);
        Iterable<IMObject> objects = getActs(statement);
        Reporter reporter = ReporterFactory.create(objects, template, TemplatedReporter.class);
        reporter.setParameters(getParameters(statement));
        reporter.setFields(fields);
        final Document doc = reporter.getDocument(DocFormats.PDF_TYPE, true);

        final DocumentHandler handler = handlers.get(doc.getName(), doc.getArchetypeId().getShortName(),
                doc.getMimeType());

        helper.addAttachment(doc.getName(), new InputStreamSource() {
            public InputStream getInputStream() {
                return handler.getContent(doc);
            }
        });
        sender.send(message);
        if (!statement.isPreview() && !statement.isPrinted()) {
            setPrinted(statement);
        }
    } catch (ArchetypeServiceException exception) {
        throw exception;
    } catch (StatementProcessorException exception) {
        throw exception;
    } catch (Throwable exception) {
        throw new StatementProcessorException(exception, FailedToProcessStatement, exception.getMessage());
    }
}

From source file:siddur.solidtrust.scrape.ScrapeMonitor.java

private void send(boolean alert1, boolean alert2, int marktplaats, int autoscout) {
    MimeMessage message = mailSender.createMimeMessage();
    try {//from  w  ww.  j  a  v  a 2  s . c  o  m
        MimeMessageHelper helper = new MimeMessageHelper(message, true);
        helper.setFrom("gbg1_spsms_gtrak@pactera-pgs-mail.chinacloudapp.cn", "Solidtrust Admin");
        if (alert1 || alert2) {
            log4j.info("Send email to alert that data scraped very little");
            helper.setTo(SolidtrustConstants.BEN_EMAIL);
            helper.setCc(SolidtrustConstants.MY_EMAIL);
        } else {
            helper.setTo(SolidtrustConstants.MY_EMAIL);
        }
        helper.setSubject("Little data scraped alert");

        StringBuilder sb = new StringBuilder();
        sb.append(
                "<html><body><table border='1' cellspacing='0'><tr><td>Source</td><td>Amount Today</td><td>Normal amount daily</td></tr>");
        sb.append("<tr><td>Martplaats</td><td>{0}</td><td>9000</td></tr>");
        sb.append("<tr><td>AutoscoutNl</td><td>{1}</td><td>250</td></tr>");
        sb.append("</table></body></html>");
        helper.setText(MessageFormat.format(sb.toString(),
                alert1 ? "<font color='red'>" + marktplaats + "</font>" : marktplaats,
                alert2 ? "<font color='red'>" + autoscout + "</font>" : autoscout), true);
        mailSender.send(message);
    } catch (Exception e) {
        log4j.error(e.getMessage(), e);
    }
}

From source file:siddur.solidtrust.wok.WokController.java

@Scheduled(cron = "0 5 1 2 * ?") //01:05 2th monthly
@RequestMapping("notify")
public void sendMail() throws Exception {
    Calendar today = Calendar.getInstance();
    int year = today.get(Calendar.YEAR);
    int month = today.get(Calendar.MONTH);
    String filename = year + "-" + month + ".xlsx";
    File file = new File(FileSystemUtil.getWokDir(), filename);
    generateFile(year, month, file);//from  www  . j a  v  a  2s.c o m

    log4j.info("Send email for WOK records: " + file.getName());
    MimeMessage message = mailSender.createMimeMessage();

    // use the true flag to indicate you need a multipart message
    MimeMessageHelper helper = new MimeMessageHelper(message, true);

    helper.setFrom("gbg1_spsms_gtrak@pactera-pgs-mail.chinacloudapp.cn", "Solidtrust Admin");
    helper.setTo(SolidtrustConstants.WOK_EMAIL);
    helper.addCc(SolidtrustConstants.BEN_EMAIL);
    helper.addCc(SolidtrustConstants.MY_EMAIL);
    helper.setSubject(MessageFormat.format("WOK[{0}]", (year + "-" + month)));

    // use the true flag to indicate the text included is HTML
    helper.setText("<html><body>Here is WOK data of last month. Thanks.</body></html>", true);

    // let's include the infamous windows Sample file (this time copied to c:/)
    FileSystemResource res = new FileSystemResource(file);
    helper.addAttachment(file.getName(), res);

    mailSender.send(message);
}