robe-mail/src/main/java/io/robe/mail/MailSender.java
public void sendMessage(MailItem item) throws MessagingException {
        checkNotNull(item.getReceivers());
        checkNotNull(item.getReceivers().get(0));
        checkNotNull(item.getTitle());
        checkNotNull(item.getBody());

        //If sender is empty send with the account sender.
        Message msg = new MimeMessage(session);
        if (item.getSender() == null || item.getSender().length() == 0) {
            item.setSender(configuration.getProperties().get(configuration.getUsernameKey()).toString());
        }
        InternetAddress from = new InternetAddress(item.getSender());
        msg.setFrom(from);


        InternetAddress[] to = new InternetAddress[item.getReceivers().size()];
        for (int i = 0; i < item.getReceivers().size(); i++) {
            to[i] = new InternetAddress(item.getReceivers().get(i));
        }
        msg.setRecipients(Message.RecipientType.TO, to);

        msg.setSubject(item.getTitle());

        MimeBodyPart body = new MimeBodyPart();
        body.setContent(item.getBody(), "text/html; charset=UTF-8");
        Multipart content = new MimeMultipart();
        content.addBodyPart(body);

        if (item.getAttachments() != null && item.getAttachments().size() > 0) {
            for (DataSource attachment : item.getAttachments()) {
                BodyPart itemBodyPart = new MimeBodyPart();
                itemBodyPart.setDataHandler(new DataHandler(attachment));
                itemBodyPart.setFileName(attachment.getName());
                content.addBodyPart(itemBodyPart);
            }
        }

        msg.setContent(content);

        //update headers
        msg.saveChanges();

        Transport.send(msg);

        // set header value
        for (Map.Entry<String, String[]> entry : item.getHeaders().entrySet()) {
            String[] value = msg.getHeader(entry.getKey());
            if (value != null) {
                entry.setValue(value);
            }
        }

    }
public void sendMessage(MailItem item) throws MessagingException {
        checkNotNull(item.getReceivers());
        checkNotNull(item.getReceivers().get(0));
        checkNotNull(item.getTitle());
        checkNotNull(item.getBody());

        //If sender is empty send with the account sender.
        Message msg = new MimeMessage(session);
        if (item.getSender() == null || item.getSender().length() == 0) {
            item.setSender(configuration.getProperties().get(configuration.getUsernameKey()).toString());
        }
        InternetAddress from = new InternetAddress(item.getSender());
        msg.setFrom(from);


        InternetAddress[] to = new InternetAddress[item.getReceivers().size()];
        for (int i = 0; i < item.getReceivers().size(); i++) {
            to[i] = new InternetAddress(item.getReceivers().get(i));
        }
        msg.setRecipients(Message.RecipientType.TO, to);

        msg.setSubject(item.getTitle());

        MimeBodyPart body = new MimeBodyPart();
        body.setContent(item.getBody(), "text/html; charset=UTF-8");
        Multipart content = new MimeMultipart();
        content.addBodyPart(body);

        if (item.getAttachments() != null && item.getAttachments().size() > 0) {
            for (DataSource attachment : item.getAttachments()) {
                BodyPart itemBodyPart = new MimeBodyPart();
                itemBodyPart.setDataHandler(new DataHandler(attachment));
                itemBodyPart.setFileName(attachment.getName());
                content.addBodyPart(itemBodyPart);
            }
        }

        msg.setContent(content);

        //update headers
        msg.saveChanges();

        Transport.send(msg);

        // set header value
        for (Map.Entry<String, String[]> entry : item.getHeaders().entrySet()) {
            String[] value = msg.getHeader(entry.getKey());
            if (value != null) {
                entry.setValue(value);
            }
        }

    }
public void sendMessage ( MailItem item ) throws MessagingException { checkNotNull ( item . getReceivers ( ) ) ; checkNotNull ( item . getReceivers ( ) . get ( 0 ) ) ; checkNotNull ( item . getTitle ( ) ) ; checkNotNull ( item . getBody ( ) ) ; //If sender is empty send with the account sender. Message msg = new MimeMessage ( session ) ; if ( item . getSender ( ) == null || item . getSender ( ) . length ( ) == 0 ) { item . setSender ( configuration . getProperties ( ) . get ( configuration . getUsernameKey ( ) ) . toString ( ) ) ; } InternetAddress from = new InternetAddress ( item . getSender ( ) ) ; msg . setFrom ( from ) ; InternetAddress [ ] to = new InternetAddress [ item . getReceivers ( ) . size ( ) ] ; for ( int i = 0 ; i < item . getReceivers ( ) . size ( ) ; i ++ ) { to [ i ] = new InternetAddress ( item . getReceivers ( ) . get ( i ) ) ; } msg . setRecipients ( Message . RecipientType . TO , to ) ; msg . setSubject ( item . getTitle ( ) ) ; MimeBodyPart body = new MimeBodyPart ( ) ; body . setContent ( item . getBody ( ) , "text/html; charset=UTF-8" ) ; Multipart content = new MimeMultipart ( ) ; content . addBodyPart ( body ) ; if ( item . getAttachments ( ) != null && item . getAttachments ( ) . size ( ) > 0 ) { for ( DataSource attachment : item . getAttachments ( ) ) { BodyPart itemBodyPart = new MimeBodyPart ( ) ; itemBodyPart . setDataHandler ( new DataHandler ( attachment ) ) ; itemBodyPart . setFileName ( attachment . getName ( ) ) ; content . addBodyPart ( itemBodyPart ) ; } } msg . setContent ( content ) ; //update headers msg . saveChanges ( ) ; Transport . send ( msg ) ; // set header value for ( Map . Entry < String , String [ ] > entry : item . getHeaders ( ) . entrySet ( ) ) { String [ ] value = msg . getHeader ( entry . getKey ( ) ) ; if ( value != null ) { entry . setValue ( value ) ; } } }
Sends a mail with the given item.

@param item MailItem to be send.
Sends a mail with the given item .