Search in sources :

Example 1 with Recipient

use of com.manydesigns.mail.queue.model.Recipient in project Portofino by ManyDesigns.

the class DefaultLoginAction method sendMail.

protected void sendMail(String from, String to, String subject, String body) {
    if (mailQueue == null) {
        throw new UnsupportedOperationException("Mail queue is not enabled");
    }
    Email email = new Email();
    email.getRecipients().add(new Recipient(Recipient.Type.TO, to));
    email.setFrom(from);
    email.setSubject(subject);
    email.setHtmlBody(body);
    email.setTextBody(Jsoup.parse(body).text().toString());
    try {
        mailQueue.enqueue(email);
    } catch (QueueException e) {
        throw new RuntimeException(e);
    }
}
Also used : Email(com.manydesigns.mail.queue.model.Email) QueueException(com.manydesigns.mail.queue.QueueException) Recipient(com.manydesigns.mail.queue.model.Recipient)

Example 2 with Recipient

use of com.manydesigns.mail.queue.model.Recipient in project Portofino by ManyDesigns.

the class DefaultMailSender method send.

protected void send(Email emailBean) throws EmailException {
    logger.debug("Entering send(Email)");
    org.apache.commons.mail.Email email;
    String textBody = emailBean.getTextBody();
    String htmlBody = emailBean.getHtmlBody();
    if (null == htmlBody) {
        if (emailBean.getAttachments().isEmpty()) {
            SimpleEmail simpleEmail = new SimpleEmail();
            simpleEmail.setMsg(textBody);
            email = simpleEmail;
        } else {
            MultiPartEmail multiPartEmail = new MultiPartEmail();
            multiPartEmail.setMsg(textBody);
            for (Attachment attachment : emailBean.getAttachments()) {
                EmailAttachment emailAttachment = new EmailAttachment();
                emailAttachment.setName(attachment.getName());
                emailAttachment.setDisposition(attachment.getDisposition());
                emailAttachment.setDescription(attachment.getDescription());
                emailAttachment.setPath(attachment.getFilePath());
                multiPartEmail.attach(emailAttachment);
            }
            email = multiPartEmail;
        }
    } else {
        HtmlEmail htmlEmail = new HtmlEmail();
        htmlEmail.setHtmlMsg(htmlBody);
        if (textBody != null) {
            htmlEmail.setTextMsg(textBody);
        }
        for (Attachment attachment : emailBean.getAttachments()) {
            if (!attachment.isEmbedded()) {
                EmailAttachment emailAttachment = new EmailAttachment();
                emailAttachment.setName(attachment.getName());
                emailAttachment.setDisposition(attachment.getDisposition());
                emailAttachment.setDescription(attachment.getDescription());
                emailAttachment.setPath(attachment.getFilePath());
                htmlEmail.attach(emailAttachment);
            } else {
                FileDataSource dataSource = new FileDataSource(new File(attachment.getFilePath()));
                htmlEmail.embed(dataSource, attachment.getName(), attachment.getContentId());
            }
        }
        email = htmlEmail;
    }
    if (null != login && null != password) {
        email.setAuthenticator(new DefaultAuthenticator(login, password));
    }
    email.setHostName(server);
    email.setSmtpPort(port);
    email.setSubject(emailBean.getSubject());
    email.setFrom(emailBean.getFrom());
    String replyTo = emailBean.getReplyTo();
    if (null != replyTo)
        email.addReplyTo(replyTo);
    for (Recipient recipient : emailBean.getRecipients()) {
        switch(recipient.getType()) {
            case TO:
                email.addTo(recipient.getAddress());
                break;
            case CC:
                email.addCc(recipient.getAddress());
                break;
            case BCC:
                email.addBcc(recipient.getAddress());
                break;
        }
    }
    email.setSSLOnConnect(ssl);
    email.setStartTLSEnabled(tls);
    email.setSslSmtpPort(port + "");
    email.setCharset("UTF-8");
    email.send();
    logger.debug("Exiting send(Email)");
}
Also used : org.apache.commons.mail(org.apache.commons.mail) Email(com.manydesigns.mail.queue.model.Email) Attachment(com.manydesigns.mail.queue.model.Attachment) Recipient(com.manydesigns.mail.queue.model.Recipient) FileDataSource(javax.activation.FileDataSource) File(java.io.File)

Aggregations

Email (com.manydesigns.mail.queue.model.Email)2 Recipient (com.manydesigns.mail.queue.model.Recipient)2 QueueException (com.manydesigns.mail.queue.QueueException)1 Attachment (com.manydesigns.mail.queue.model.Attachment)1 File (java.io.File)1 FileDataSource (javax.activation.FileDataSource)1 org.apache.commons.mail (org.apache.commons.mail)1