Enviar Mails desde Java

Es navidad, así que escribo entradas de regalo😀 (el trabajo está relajado, así que me puedo dar el tiempo para escribir.)

En el post anterior mostré cómo mandar mails desde python, y más antes desde PHP. En el sistema que hice en el trabajo también mando mails, por lo que les voy a mostrar la forma de hacerlo.

Específicamente, lo voy a hacer desde un sistema Web usando Glassfish.

Desde la consola de administración de GlassFish, bajamos hasta sesión JavaMail y agregamos una nueva instantánea17

Y completamos con los siguientes datos (reemplazando su pass)instantánea18

Lo que acabamos de hacer, es crear un “objeto” del tipo javax.mail.Session usable desde cualquier aplicación corriendo en glassFish. Este objeto tiene el ID “mail/mario.cares.c@gmail.com”.

Lo siguiente es ocuparlo desde nuestra aplicación. El código es este

package Controladores;

import Modelos.Usuario;
import java.io.UnsupportedEncodingException;
import java.util.List;
import javax.annotation.Resource;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class Mail {
    @Resource(name = "mail/mario.cares.c@gmail.com")
    private Session mailSession;

    public String Send(List<Usuario> usuarios, String cuerpo, String asunto) throws MessagingException, UnsupportedEncodingException{
        Message msg = new MimeMessage(mailSession);
        msg.setSubject(asunto);
        for(Usuario u : usuarios){
            msg.setRecipient(
                Message.RecipientType.TO,
                new InternetAddress(u.getMail(), u.getNombre())
            );
        }
        msg.setContent(cuerpo, "text/html");
        Transport.send(msg);
        return "";
    }
}

En la anotación @Resource cargamos el objeto con ID “mail/bla” que, como definimos en el servidor, es la Session para mandar mails.

Como pueden ver, es fácil de leer y entender. En mi función, tengo los destinatarios, el cuerpo del mensaje y el asunto. Y por cada usuario agrego una persona con el Mail y el Nombre.

Una vez que tengo todos los contactos, agrego el cuerpo en formato html. Posteriormente, lo envío🙂

Eso es todo.

Acerca de MaritoCares

Ingeniero Informático. Con tendencias a la programación en [C#, VB].NET, Java(Web principalmente...), PHP, JavaScript, algo mínimo de [ruby, python], y el clásico C.
Esta entrada fue publicada en Java, Tips. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s