List of usage examples for org.springframework.mail.javamail MimeMessageHelper setFrom
public void setFrom(String from, String personal) throws MessagingException, UnsupportedEncodingException
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); }