@Override public Future<Void> asyncSend(final Email email) { LOGGER.debug("New email to be sent asynchronously: {} to {}", email.getSubject(), email.getToAddresses()); Callable<Void> task = new Callable<Void>() { @Override public Void call() throws EmailException { LOGGER.debug("Asynchronously sending email {} to {}", email.getSubject(), email.getToAddresses()); DefaultAsyncMailer.this.mailer.send(email); return null; } }; return this.executor.submit(task); }
@Override public Void call() throws EmailException { LOGGER.debug("Asynchronously sending email {} to {}", email.getSubject(), email.getToAddresses()); DefaultAsyncMailer.this.mailer.send(email); return null; } };
public void testSend() throws Exception { // you need to suppress the constructor before you mock the class. PowerMockito.suppress(PowerMockito.constructor(EmailMessage.class)); EmailMessage emailMessage = PowerMockito.mock(EmailMessage.class); Email email = new Email(); emailMessage.setSubject(email.getSubject()); // ...your other code here ... }
class Mailer { public void send(Email mail) { // get required info from mail String recipents = mail.getRecipents() String subject = mail.getSubject() String content = mail.getContent() // do stuff with all the information } }
@Override public void send(Email email) throws EmailException { logger.info("subject => {}",email.getSubject()); logger.info("from => {}",email.getFromAddress()); logger.info("toAddresses => {}",email.getToAddresses()); if(email instanceof SimpleEmail) send((SimpleEmail) email); else if(email instanceof HtmlEmail) send((HtmlEmail) email); else logger.info("body => unknown"); } }
protected void wrapUpAndSend(Email email) throws EmailException { LOGGER.debug(String.format(emailLogTemplate(), email.getSubject(), email.getFromAddress(), email.getToAddresses(), email.getHostName(), email.getSmtpPort(), email.isTLS())); email.send(); }
addAddresses(content, "Bcc", email.getBccAddresses()); content.append("\n\tSubject: ").append(email.getSubject()); content.append("\n\t").append(body);
public static Email buildMessage(Email email) throws EmailException { String from = Play.configuration.getProperty("mail.smtp.from"); if (email.getFromAddress() == null && !StringUtils.isEmpty(from)) { email.setFrom(from); } else if (email.getFromAddress() == null) { throw new MailException("Please define a 'from' email address", new NullPointerException()); } if ((email.getToAddresses() == null || email.getToAddresses().isEmpty()) && (email.getCcAddresses() == null || email.getCcAddresses().isEmpty()) && (email.getBccAddresses() == null || email.getBccAddresses().isEmpty())) { throw new MailException("Please define a recipient email address", new NullPointerException()); } if (email.getSubject() == null) { throw new MailException("Please define a subject", new NullPointerException()); } if (email.getReplyToAddresses() == null || email.getReplyToAddresses().isEmpty()) { email.addReplyTo(email.getFromAddress().getAddress()); } return email; }
@Test public void testEndOflineCharactersInSubjectAreReplacedWithSpaces() { for (final String invalidChar : endOfLineCombinations) { email.setSubject(invalidChar); assertNotEquals(invalidChar, email.getSubject()); } assertEquals("abcdefg", email.setSubject("abcdefg").getSubject()); assertEquals("abc defg", email.setSubject("abc\rdefg").getSubject()); assertEquals("abc defg", email.setSubject("abc\ndefg").getSubject()); assertEquals("abc defg", email.setSubject("abc\r\ndefg").getSubject()); assertEquals("abc defg", email.setSubject("abc\n\rdefg").getSubject()); }
@Test public void testSetSubjectValid() { for (final String validChar : testCharsValid) { email.setSubject(validChar); assertEquals(validChar, email.getSubject()); } assertEquals(null, email.setSubject(null).getSubject()); assertEquals("", email.setSubject("").getSubject()); assertEquals(" ", email.setSubject(" ").getSubject()); assertEquals("\t", email.setSubject("\t").getSubject()); }
@Autowired private MailSender mailSender; // Email is my own Pojo with from, to, subject and body properties. @Transactional(propagation = Propagation.REQUIRES_NEW) public void sendEmail(Email email) { // create email message SimpleMailMessage msg = new SimpleMailMessage(); msg.setFrom(email.getFromAddress()); msg.setTo(email.getToAddress()); msg.setSubject(email.getSubject()); msg.setText(email.getBody()); // send the message using spring mail sender this.mailSender.send(msg); }
String subject = mail.getSubject(); mail.setSubject(String.format("%s %s", subjectPrefix, subject));
public void send(Email email) throws EmailException{ boolean sendForReal = env.has(SEND_REAL_EMAIL) || env.getName().equals("production"); if (sendForReal) { logger.info("REAL MAIL ::: {} ::: {}", email.getSubject(), email.getToAddresses()); if (email.getFromAddress() == null) { email.setFrom(env.get(FROM)); } if (env.has(REPLY_TO)) { email.addReplyTo(env.get(REPLY_TO)); } email.setMailSession(session); try { client.sendRawEmail(new SendRawEmailRequest() .withRawMessage(mail2Content(email))); } catch (Exception e) { throw new EmailException(e); } } else { new MockMailer().send(email); } } }