ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

JavaMail

alejandro180Apuntes9 de Noviembre de 2018

2.979 Palabras (12 Páginas)163 Visitas

Página 1 de 12

JavaMail API.[pic 1]

¿Que es JavaMail?

JavaMail es una librería de Oracle para Java SE y EE la cual permite trabajar con correo electrónico. Esta librería no se encuentra incluida en el paquete JDK por lo que se debe descargar aparte en el sitio oficial de Oracle.

Funcionalidades.

La librería permite realizar todas las operaciones básicas correspondientes al correo electrónico como por ejemplo redactar y enviar mensajes, recibirlos, agregar archivos adjuntos, etc.

Además de las funciones básicas de cada servicio de correo electrónico, se pueden implementar funciones más avanzadas como el uso de certificados digitales.

Componentes y etapas.

Enviar mensajes:

Session – Esta clase representa la conexión al servidor, se obtiene pasándole por parámetros el servidor de correo.

Transport – Esta clase se utiliza para el envío de mensajes, se obtiene con el método getTransport() de la clase Session.

MimeMessage – Esta clase construye el mensaje.

Configuración de la sesión.

A la clase Session se le debe definir las propiedades a través de la clase Properties, luego obtener la instancia.

// Propiedades.

Properties props = new Properties();

// Nombre del host de correo, es smtp.gmail.com

props.setProperty("mail.smtp.host", "smtp.gmail.com");

// TLS si está disponible

props.setProperty("mail.smtp.starttls.enable", "true");

// Puerto de gmail para envio de correos

props.setProperty("mail.smtp.port","587");

// Nombre del usuario

props.setProperty("mail.smtp.user", "ejemplo@gmail.com");

// Si requiere o no usuario y password para conectarse.

props.setProperty("mail.smtp.auth", "true");

                

// Se obtiene la instancia de Session.

Session session = Session.getDefaultInstance(props);

// Información en pantalla (opcional).

session.setDebug(true);


Confección del mensaje.

Se crea la clase MimeMessage, esta clase compone el mensaje y sus elementos relacionados, por ejemplo, remitente, destinatario, destinatario quien recibe una copia, destinatario con copia oculta.

// Se crea el objeto MimeMessage y recibe la sesión.

MimeMessage message = new MimeMessage(session);

setFrom() indica el remitente.

 addRecipient() sirve para indicar el destinatario.

// Quién envia el correo

message.setFrom(new InternetAddress("Usuario@gmail.com"));

// A quién va dirigido

message.addRecipient(Message.RecipientType.TO, new InternetAddress("Usuario@correo.com"));

setSubjet() escribe el asunto del mensaje.

setText() escribe el contenido o cuerpo del mensaje.

// Asunto y cuerpo del mensaje.

message.setSubject("Hola");

message.setText("Mensaje con JavaMail");

// Con formato HTML.

message.setText("Mensaje con JavaMail","ISO-8859-1","html");

                        

Envío del mensaje.

Se preparan los métodos con las direcciones y protocolos para enviar el mensaje.

// Se crea la clase Transport instanciando la sesión y se pasa el protocolo.

Transport t = session.getTransport("smtp");

// Se establece la conexión.

t.connect("correo@gmail.com","contraseña");

// Se envía el mensaje a todos los destinatarios.

t.sendMessage(message,message.getAllRecipients());

                        

// Cierre de la conexión.

t.close();

El método sendMessage() utiliza el mensaje y el arreglo de los destinatarios, por otro lado está el método send() que es un método estático y no tiene en cuenta la conexión, ni el usuario ni la contraseña, es una forma de envío rápida para el servidor SMTP que no requiera autenticación.


El proceso para adjuntar archivos dentro de los mensajes es similar al descrito anteriormente, con la diferencia que en esta ocasión se implementan dos clases nuevas llamadas MimeMultiPart y MimeBodyPart.

Se deben generar las partes que componen el mensaje y asignarle el contenido, es decir textos y archivos. Luego a la clase instanciada de MimeMessage se le llama el método setContent() el cual integra al mensaje los ajuntos.

// Se crea una parte del cuerpo del mensaje.

BodyPart texto = new MimeBodyPart();

        

// A la parte creada se le escribe un texto.

texto.setText("Texto del mensaje.");

                        

// Se crea una segunda parte del cuerpo del mensaje.

BodyPart adjunto = new MimeBodyPart();

                        

// A esa segunda parte se le asigna un archivo.

adjunto.setDataHandler(new DataHandler(new FileDataSource("C:\\Archivo.txt")));

                        

// Al archivo adjunto se le agrega un nombre.

adjunto.setFileName("Archivo.txt");

                        

// Se genera el conjunto de componentes del mensaje.

...

Descargar como (para miembros actualizados) txt (20 Kb) pdf (174 Kb) docx (25 Kb)
Leer 11 páginas más »
Disponible sólo en Clubensayos.com