Issuu on Google+

JavaMail con Glassfish GRID Uniquindio

Información General Fecha: Duración Estimada: Autor: Nombre de la guía:

16/01/2012 30 minutos Diego Mauricio Herrera Alzate JavaMail con Glassfish

Información de la Guía Objetivo: facilitar la implementación del envío de mensajes de correo electrónico, a través, de la librería JavaMail y el servidor Glassfish. Conceptos básicos: Manejo de eclipse, Java, Glassfish. Contextualización Teórica: en el momento de desarrollar una aplicación web para una empresa seria es de vital importancia realizar el envío de correos electrónicos con una gran diversidad de motivos a todos sus usuarios o una cantidad determinada, para ello la aplicación debe permitir el envío de correo electrónico masivo sin tener que enviar uno a uno o pero aun teniendo que hacerlo manualmente. En java como en la gran mayoría de los lenguajes de programación actuales es de vital importancia el manejo de clases desarrollada por terceros, el día de hoy se utilizara JavaMail junto con el servidor Glassfish, los cuales harán un poco más fácil el envío de correo electrónico masivo, cabe destacar que para ello se debe contar con una cuenta de correo electrónico valida. Cabe destacar que Glassfish cuenta con soporte para la configuración de la cuenta de correo electrónica desde la cual se dará origen a los mensajes, evitando la configuración de los diferentes parámetros especificados en el transcurso de la guía. Recomendaciones: recuerde verificar inicialmente que el servidor se encuentre trabajando con uno de los últimos JDK disponibles para evitar problemas en el momento de hacer la importación de las librerías, Artefactos: Se requiere tener instalado el JDK y un IDE para el desarrollo de aplicaciones (Eclipse Helios), el servidor de aplicaciones Glassfish. Evaluación o Resultado: Se espera que el alumno pueda crear aplicaciones con soporte para el envío de correo electrónico masivo.

Procedimiento

1. Para iniciar se debe tener corriendo el servidor e ingresar a su consola de administración, por defecto es http://localhost:4848 o si en algún momento cambio la configuración por defecto será necesario hacer referencia al puerto indicado (es posible que el ingreso tarde algún tiempo más de lo esperado). 2. Ubicados dentro de la consola de administración se debe ingresar a JavaMail Session para ello se debe ingresar en el árbol de navegación ubicado en la parte izquierda de la pantalla e ingresar en Resource > JavaMail Session.

Diego Mauricio Herrera Alzate

diegomao627@gmail.com

GRID Uniquindio


JavaMail con Glassfish GRID Uniquindio

3. Una vez se esté dentro de la interface mostrada por la opción JavaMail Session se debe hace clic en la opción “New” para iniciar una configuración. 4.

En este momento se iniciara con los parámetros de configuración de la sesión de JavaMail.

JDNI Name:

nombre_deseado

Mail Host:

servido SMTP (smtp.gmail.com)

Deafult User:

remitente por defecto

Default Return Adress:

remitente por defecto

Description:

descripcion_breve

Status:

enable

Store Protocol:

imap

Store Protocol Class:

com.sun.mail.imap.IMAPStore

Transport Protocol:

smtps

Transport Protocol Class:

com.sun.mail.smtp.SMTPSSLTransport

5. Con la configuración realizada hasta el momento ya se tiene gran de JavaMail Session configurado en el servidor de aplicaciones, solo basta ingresar la información de la cuenta de correo electrónico a utilizar. Para ello se debe dirigir al final de la página en la cual se está realizado la configuración y adicionar dos propiedades. Name mail-smtpspassword mail-smtps-auth

Value Contraseña del correo electrónico a utilizar. true

Description Descripción breve. Breve descripción.

Para adicionar las propiedades basta con hacer clic en “Add Properties” que se encuentra en la parte inferior de la pantalla. 6. En este momento la configuración debe estar de la siguiente manera.

Diego Mauricio Herrera Alzate

diegomao627@gmail.com

GRID Uniquindio


JavaMail con Glassfish GRID Uniquindio

Si la configuración se encuentra de esta manera solo hace falta guardar para concluir con el proceso. 7. Teniendo el JavaMail Session configurado no hace más falta gestionar el envió de correo electrónico, a través, de un método desde el proyecto JEE la cual se construye de la siguiente manera. public class SendEmail {

@Resource(name="JDNI Name del JavaMail Session") private Session mailSession; // Crea el objeto del mensaje Message mensaje; public void enviarMensaje()

Diego Mauricio Herrera Alzate

diegomao627@gmail.com

GRID Uniquindio


JavaMail con Glassfish GRID Uniquindio

{ mensaje = new MimeMessage(mailSession); try{ // Lista de destinatarios separados por , mensaje.setRecipients(RecipientType.TO, InternetAddress.parse("email_1,email_2 ")); // Asunto del correo electronico mensaje.setSubject("Asunto"); // Cuerpo del mensaje, puede ser codigo HTML mensaje.setText("cuerpo del mensaje"); // Esto no es obligatorio pero es una buena practica para indeciar la construccion del mensaje mensaje.setHeader("X-Mailer", "diegomao627@gmail.com"); // Ajuste de la fecha del mensaje Date timeStamp = new Date(); mensaje.setSentDate(timeStamp); // Uso del medoto “send” para enviar el mensaje Transport.send(mensaje); } catch (Exception e) { // manejo de la excepcion del metodo } } }

8. Ahora se debe crear una página JSF para probar el funcionamiento del método.

Diego Mauricio Herrera Alzate

diegomao627@gmail.com

GRID Uniquindio


JavaMail con Glassfish