Example usage for org.apache.commons.mail Email setFrom

List of usage examples for org.apache.commons.mail Email setFrom

Introduction

In this page you can find the example usage for org.apache.commons.mail Email setFrom.

Prototype

public Email setFrom(final String email) throws EmailException 

Source Link

Document

Set the FROM field of the email to use the specified address.

Usage

From source file:org.apache.kylin.common.util.MailService.java

/**
 * @param receivers//from w  ww.j  a va  2s  .  c om
 * @param subject
 * @param content
 * @return true or false indicating whether the email was delivered successfully
 * @throws IOException
 */
public boolean sendMail(List<String> receivers, String subject, String content, boolean isHtmlMsg) {

    if (!enabled) {
        logger.info("Email service is disabled; this mail will not be delivered: " + subject);
        logger.info("To enable mail service, set 'kylin.job.notification-enabled=true' in kylin.properties");
        return false;
    }

    Email email = new HtmlEmail();
    email.setHostName(host);
    email.setStartTLSEnabled(starttlsEnabled);
    if (starttlsEnabled) {
        email.setSslSmtpPort(port);
    } else {
        email.setSmtpPort(Integer.valueOf(port));
    }

    if (username != null && username.trim().length() > 0) {
        email.setAuthentication(username, password);
    }

    //email.setDebug(true);
    try {
        for (String receiver : receivers) {
            email.addTo(receiver);
        }

        email.setFrom(sender);
        email.setSubject(subject);
        email.setCharset("UTF-8");
        if (isHtmlMsg) {
            ((HtmlEmail) email).setHtmlMsg(content);
        } else {
            ((HtmlEmail) email).setTextMsg(content);
        }
        email.send();
        email.getMailSession();

    } catch (EmailException e) {
        logger.error(e.getLocalizedMessage(), e);
        return false;
    }

    return true;
}

From source file:org.apache.nifi.processors.email.GenerateAttachment.java

public byte[] SimpleEmail() {
    Email email = new SimpleEmail();
    try {/*www  .j av  a2s .co m*/
        email.setFrom(from);
        email.addTo(to);
        email.setSubject(subject);
        email.setMsg(message);
        email.setHostName(hostName);
        email.buildMimeMessage();
    } catch (EmailException e) {
        e.printStackTrace();
    }

    ByteArrayOutputStream output = new ByteArrayOutputStream();
    MimeMessage mimeMessage = email.getMimeMessage();
    try {
        mimeMessage.writeTo(output);
    } catch (IOException e) {
        e.printStackTrace();
    } catch (MessagingException e) {
        e.printStackTrace();
    }

    return output.toByteArray();
}

From source file:org.apache.nifi.processors.email.TestListenSMTP.java

@Test
public void validateSuccessfulInteraction() throws Exception, EmailException {
    int port = NetworkUtils.availablePort();

    TestRunner runner = TestRunners.newTestRunner(ListenSMTP.class);
    runner.setProperty(ListenSMTP.SMTP_PORT, String.valueOf(port));
    runner.setProperty(ListenSMTP.SMTP_MAXIMUM_CONNECTIONS, "3");
    runner.setProperty(ListenSMTP.SMTP_TIMEOUT, "10 seconds");

    runner.assertValid();//from   w w w.  j a va  2s.  c om
    runner.run(5, false);
    final int numMessages = 5;
    CountDownLatch latch = new CountDownLatch(numMessages);

    this.executor.schedule(new Runnable() {
        @Override
        public void run() {
            for (int i = 0; i < numMessages; i++) {
                try {
                    Email email = new SimpleEmail();
                    email.setHostName("localhost");
                    email.setSmtpPort(port);
                    email.setFrom("alice@nifi.apache.org");
                    email.setSubject("This is a test");
                    email.setMsg("MSG-" + i);
                    email.addTo("bob@nifi.apache.org");
                    email.send();
                } catch (Exception e) {
                    e.printStackTrace();
                    throw new RuntimeException(e);
                } finally {
                    latch.countDown();
                }
            }
        }
    }, 1500, TimeUnit.MILLISECONDS);

    boolean complete = latch.await(5000, TimeUnit.MILLISECONDS);
    runner.shutdown();
    assertTrue(complete);
    runner.assertAllFlowFilesTransferred(ListenSMTP.REL_SUCCESS, numMessages);
}

From source file:org.apache.nifi.processors.email.TestListenSMTP.java

@Test
public void validateSuccessfulInteractionWithTls() throws Exception, EmailException {
    System.setProperty("mail.smtp.ssl.trust", "*");
    System.setProperty("javax.net.ssl.keyStore", "src/test/resources/localhost-ks.jks");
    System.setProperty("javax.net.ssl.keyStorePassword", "localtest");
    int port = NetworkUtils.availablePort();

    TestRunner runner = TestRunners.newTestRunner(ListenSMTP.class);
    runner.setProperty(ListenSMTP.SMTP_PORT, String.valueOf(port));
    runner.setProperty(ListenSMTP.SMTP_MAXIMUM_CONNECTIONS, "3");
    runner.setProperty(ListenSMTP.SMTP_TIMEOUT, "10 seconds");

    // Setup the SSL Context
    SSLContextService sslContextService = new StandardSSLContextService();
    runner.addControllerService("ssl-context", sslContextService);
    runner.setProperty(sslContextService, StandardSSLContextService.TRUSTSTORE,
            "src/test/resources/localhost-ts.jks");
    runner.setProperty(sslContextService, StandardSSLContextService.TRUSTSTORE_PASSWORD, "localtest");
    runner.setProperty(sslContextService, StandardSSLContextService.TRUSTSTORE_TYPE, "JKS");
    runner.setProperty(sslContextService, StandardSSLContextService.KEYSTORE,
            "src/test/resources/localhost-ks.jks");
    runner.setProperty(sslContextService, StandardSSLContextService.KEYSTORE_PASSWORD, "localtest");
    runner.setProperty(sslContextService, StandardSSLContextService.KEYSTORE_TYPE, "JKS");
    runner.enableControllerService(sslContextService);

    // and add the SSL context to the runner
    runner.setProperty(ListenSMTP.SSL_CONTEXT_SERVICE, "ssl-context");
    runner.setProperty(ListenSMTP.CLIENT_AUTH, SSLContextService.ClientAuth.NONE.name());
    runner.assertValid();//from   w w w. ja va 2s .  co  m

    int messageCount = 5;
    CountDownLatch latch = new CountDownLatch(messageCount);
    runner.run(messageCount, false);

    this.executor.schedule(new Runnable() {
        @Override
        public void run() {
            for (int i = 0; i < messageCount; i++) {
                try {
                    Email email = new SimpleEmail();
                    email.setHostName("localhost");
                    email.setSmtpPort(port);
                    email.setFrom("alice@nifi.apache.org");
                    email.setSubject("This is a test");
                    email.setMsg("MSG-" + i);
                    email.addTo("bob@nifi.apache.org");

                    // Enable STARTTLS but ignore the cert
                    email.setStartTLSEnabled(true);
                    email.setStartTLSRequired(true);
                    email.setSSLCheckServerIdentity(false);
                    email.send();
                } catch (Exception e) {
                    e.printStackTrace();
                    throw new RuntimeException(e);
                } finally {
                    latch.countDown();
                }
            }
        }
    }, 1500, TimeUnit.MILLISECONDS);

    boolean complete = latch.await(5000, TimeUnit.MILLISECONDS);
    runner.shutdown();
    assertTrue(complete);
    runner.assertAllFlowFilesTransferred("success", messageCount);
}

From source file:org.apache.nifi.processors.email.TestListenSMTP.java

@Test
public void validateTooLargeMessage() throws Exception, EmailException {
    int port = NetworkUtils.availablePort();

    TestRunner runner = TestRunners.newTestRunner(ListenSMTP.class);
    runner.setProperty(ListenSMTP.SMTP_PORT, String.valueOf(port));
    runner.setProperty(ListenSMTP.SMTP_MAXIMUM_CONNECTIONS, "3");
    runner.setProperty(ListenSMTP.SMTP_TIMEOUT, "10 seconds");
    runner.setProperty(ListenSMTP.SMTP_MAXIMUM_MSG_SIZE, "10 B");

    runner.assertValid();//from www . ja  v  a 2 s  .co m

    int messageCount = 1;
    CountDownLatch latch = new CountDownLatch(messageCount);

    runner.run(messageCount, false);

    this.executor.schedule(new Runnable() {
        @Override
        public void run() {
            for (int i = 0; i < messageCount; i++) {
                try {
                    Email email = new SimpleEmail();
                    email.setHostName("localhost");
                    email.setSmtpPort(port);
                    email.setFrom("alice@nifi.apache.org");
                    email.setSubject("This is a test");
                    email.setMsg("MSG-" + i);
                    email.addTo("bob@nifi.apache.org");
                    email.send();
                } catch (Exception e) {
                    e.printStackTrace();
                    throw new RuntimeException(e);
                } finally {
                    latch.countDown();
                }
            }
        }
    }, 1000, TimeUnit.MILLISECONDS);

    boolean complete = latch.await(5000, TimeUnit.MILLISECONDS);
    runner.shutdown();
    assertTrue(complete);
    runner.assertAllFlowFilesTransferred("success", 0);
}

From source file:org.apache.sling.commons.messaging.mail.internal.SimpleMailBuilder.java

@Override
public Email build(@Nonnull final String message, @Nonnull final String recipient, @Nonnull final Map data)
        throws EmailException {
    final Map configuration = (Map) data.getOrDefault("mail", Collections.EMPTY_MAP);
    final String subject = (String) configuration.getOrDefault(SUBJECT_KEY, this.configuration.subject());
    final String from = (String) configuration.getOrDefault(FROM_KEY, this.configuration.from());
    final String charset = (String) configuration.getOrDefault(CHARSET_KEY, this.configuration.charset());
    final String smtpHostname = (String) configuration.getOrDefault(SMTP_HOSTNAME_KEY,
            this.configuration.smtpHostname());
    final int smtpPort = (Integer) configuration.getOrDefault(SMTP_PORT_KEY, this.configuration.smtpPort());
    final String smtpUsername = (String) configuration.getOrDefault(SMTP_USERNAME_KEY,
            this.configuration.smtpUsername());
    final String smtpPassword = (String) configuration.getOrDefault(SMTP_PASSWORD_KEY,
            this.configuration.smtpPassword());

    final Email email = new SimpleEmail();
    email.setCharset(charset);/*from w  w  w .j av a 2 s  . co  m*/
    email.setMsg(message);
    email.addTo(recipient);
    email.setSubject(subject);
    email.setFrom(from);
    email.setHostName(smtpHostname);
    email.setSmtpPort(smtpPort);
    email.setAuthentication(smtpUsername, smtpPassword);
    return email;
}

From source file:org.camunda.bpm.engine.impl.bpmn.behavior.MailActivityBehavior.java

protected void setFrom(Email email, String from) {
    String fromAddres = null;//  w w  w. j ava 2  s .co  m

    if (from != null) {
        fromAddres = from;
    } else { // use default configured from address in process engine config
        fromAddres = Context.getProcessEngineConfiguration().getMailServerDefaultFrom();
    }

    try {
        email.setFrom(fromAddres);
    } catch (EmailException e) {
        throw new ProcessEngineException("Could not set " + from + " as from address in email", e);
    }
}

From source file:org.camunda.bpm.example.coffee.service.SendMailTask.java

private void sendMail(String to) throws EmailException {
    String host = mailProperties.getProperty("host");
    Integer port = Integer.valueOf(mailProperties.getProperty("port"));
    String user = mailProperties.getProperty("user");
    String password = mailProperties.getProperty("password");

    String from = mailProperties.getProperty("from");

    Email email = new SimpleEmail();
    email.setHostName(host);/*from   ww w.  j  a va 2  s  . com*/
    email.setTLS(true);
    email.setSmtpPort(port);
    email.setAuthentication(user, password);

    email.setFrom(from);
    email.setSubject("Your Coffee");
    email.setMsg("...is ready to drink.");
    email.addTo(to);

    getMailProvider().send(email);
}

From source file:org.camunda.bpm.quickstart.TaskAssignmentListener.java

public void notify(DelegateTask delegateTask) {

    String assignee = delegateTask.getAssignee();
    String taskId = delegateTask.getId();

    if (assignee != null) {

        // Get User Profile from User Management
        IdentityService identityService = Context.getProcessEngineConfiguration().getIdentityService();
        User user = identityService.createUserQuery().userId(assignee).singleResult();

        if (user != null) {

            // Get Email Address from User Profile
            String recipient = user.getEmail();

            if (recipient != null && !recipient.isEmpty()) {

                Email email = new SimpleEmail();
                email.setCharset("utf-8");
                email.setHostName(HOST);
                email.setAuthentication(USER, PWD);

                try {
                    email.setFrom("noreply@camunda.org");
                    email.setSubject("Task assigned: " + delegateTask.getName());
                    email.setMsg("Please complete: http://localhost:8080/camunda/app/tasklist/default/#/task/"
                            + taskId);/* w  w  w.ja  va 2 s . co  m*/

                    email.addTo(recipient);

                    email.send();
                    LOGGER.info("Task Assignment Email successfully sent to user '" + assignee
                            + "' with address '" + recipient + "'.");

                } catch (Exception e) {
                    LOGGER.log(Level.WARNING, "Could not send email to assignee", e);
                }

            } else {
                LOGGER.warning("Not sending email to user " + assignee + "', user has no email address.");
            }

        } else {
            LOGGER.warning(
                    "Not sending email to user " + assignee + "', user is not enrolled with identity service.");
        }

    }

}

From source file:org.chenillekit.mail.services.impl.MailServiceImpl.java

private void setMailMessageHeaders(Email email, MailMessageHeaders headers) throws EmailException {
    email.setFrom(headers.getFrom());

    try {//from ww  w.jav  a 2  s .c  o  m
        email.setSubject(MimeUtility.encodeText(headers.getSubject(), headers.getCharset(), null));
    } catch (UnsupportedEncodingException e) {
        throw new RuntimeException(e);
    }

    for (String to : headers.getTo()) {
        email.addTo(to);
    }

    for (String cc : headers.getCc()) {
        email.addCc(cc);
    }

    for (String bcc : headers.getBcc()) {
        email.addBcc(bcc);
    }
}