Voy a usar eclipse para desarrollarlo. · // Con lo anterior tendremos iniciada nuestra sesión en...

8
Tutorial Envio de correos con Java Mail Esta vez vamos a ver un ejemplo sencillo de como enviar un correo con java, por medio de java mail. Lo primero que es descargar la libreria de java mail, lo podemos hacer desde el siguiente enlace: http://java.net/projects/javamail/downloads/download/javax.mail.jar Voy a usar eclipse para desarrollarlo. 1. Lo primero que debemos hacer es crear un nuevo proyecto Java.

Transcript of Voy a usar eclipse para desarrollarlo. · // Con lo anterior tendremos iniciada nuestra sesión en...

Page 1: Voy a usar eclipse para desarrollarlo. · // Con lo anterior tendremos iniciada nuestra sesión en gmail // Ahora procedemos a crear el mensaje y hacer el envío. Try {//Creamos un

Tutorial Envio de correos con Java Mail

Esta vez vamos a ver un ejemplo sencillo de como enviar un correo con java, por medio de java mail.Lo primero que es descargar la libreria de java mail, lo podemos hacer desde el siguiente enlace:http://java.net/projects/javamail/downloads/download/javax.mail.jar

Voy a usar eclipse para desarrollarlo. 1. Lo primero que debemos hacer es crear un nuevo proyecto Java.

Page 2: Voy a usar eclipse para desarrollarlo. · // Con lo anterior tendremos iniciada nuestra sesión en gmail // Ahora procedemos a crear el mensaje y hacer el envío. Try {//Creamos un

2. Le damos click en siguiente, le ponemos nombre al proyecto y damos click en finish:

3. Nos aparecera nuestro nuevo proyecto en el explorador de paquetes. Le damos click derecho, y seleccionamos la opción properties, buscamos y seleccionamos la opción “java build path” y seleccionamos la pestaña libraries.

Page 3: Voy a usar eclipse para desarrollarlo. · // Con lo anterior tendremos iniciada nuestra sesión en gmail // Ahora procedemos a crear el mensaje y hacer el envío. Try {//Creamos un

4. Damos click en “Add External Jars” para agregar nuestra libreria Java Mail y así poder usar la API. La buscamos en la carpeta donde la hayamos guardado, y luego le damos click en ok.

5. Ahora vamos a crear una nueva clase, para lo cual hacemos click derecho en src -> new -> class

6. Escribimos el nombre para nuestra clase, y seleccionamos la opción para que nos genere el metodo main.

Page 4: Voy a usar eclipse para desarrollarlo. · // Con lo anterior tendremos iniciada nuestra sesión en gmail // Ahora procedemos a crear el mensaje y hacer el envío. Try {//Creamos un

7. Damos click en finish, y ya tendremos creada nuestra clase.

8. Ahora vamos a escribir el código para el envío del mensaje. Explicare linea por linea lo que iremos haciendo y luego mostraremos como queda el código completo. Usaremos mi cuenta de gmail para

//Primero tenemos que importar las librerias que vamos a usar

import java.util.Properties;

import javax.mail.Message;

import javax.mail.MessagingException;

import javax.mail.PasswordAuthentication;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;

Page 5: Voy a usar eclipse para desarrollarlo. · // Con lo anterior tendremos iniciada nuestra sesión en gmail // Ahora procedemos a crear el mensaje y hacer el envío. Try {//Creamos un

//Ahora si empezamos con la programación. Esto ya va dentro del metodo main.

//Definimos 2 variables tipo String con el usuario y contraseña del correo que vamos a usar, para que cuando llegue el momento solo las introduzcamos

final String username = "[email protected]";

final String password = "estenoesmipassword";

//Creamos una instancia de Properties con los parametros del servidor de gmail

//creando la instancia de properties

Properties props = new Properties();

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

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

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

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

//Lo anterior es indispensable para comunicarnos con el servidor de gmail y //autenticarnos por medio de smtp.//Lo que sigue es iniciar sesión en gmail por medio del siguiente código.

Session session = Session.getInstance(props,

new javax.mail.Authenticator() {

protected PasswordAuthentication

getPasswordAuthentication() {

return new PasswordAuthentication(username, password);

}

});

Page 6: Voy a usar eclipse para desarrollarlo. · // Con lo anterior tendremos iniciada nuestra sesión en gmail // Ahora procedemos a crear el mensaje y hacer el envío. Try {//Creamos un

// Con lo anterior tendremos iniciada nuestra sesión en gmail// Ahora procedemos a crear el mensaje y hacer el envío.

Try {

//Creamos un nuevo mensaje, y le pasamos nuestra sesión

iniciada en el paso anterior.

Message message = new MimeMessage(session);

//Seteamos la dirección desde la cual enviaremos el mensaje

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

//Seteamos el destino de nuestro mensaje

message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("[email protected]"));

//Seteamos el asunto

message.setSubject("Prueba Java Mail");

//Y por ultimo el texto.

message.setText("Estimado Typing Code, \nEstamos aprendiendo Java Mail.");

//Esta orden envía el mensaje

Transport.send(message);

//Con esta imprimimos en consola que el mensaje fue enviado

System.out.println("Mensaje Enviado");

}

Page 7: Voy a usar eclipse para desarrollarlo. · // Con lo anterior tendremos iniciada nuestra sesión en gmail // Ahora procedemos a crear el mensaje y hacer el envío. Try {//Creamos un

catch (MessagingException e) {

//Si existiera un error en el envío lo hacemos saber al cliente y lanzamos una

excepcion.

System.out.println("Hubo un error al enviar el mensaje.");

throw new RuntimeException(e);

}

9. Nuestro código quedaría así.

Page 8: Voy a usar eclipse para desarrollarlo. · // Con lo anterior tendremos iniciada nuestra sesión en gmail // Ahora procedemos a crear el mensaje y hacer el envío. Try {//Creamos un

10. Probamos nuestro código, y luego vamos a revisar el correo que pusimos dedestino para verificar que haya enviado el correo

Funcionoooo!!!

Nota: Para mandar desde otros servidores de correo debemos conocer los parametros de conexion de los mismos. Este ejemplo solo funcionaría con cuentas de gmail.

El presente tutorial esta basado en el tutorial JavaMail API – Sending Email Via Gmail SMTP Example publicado en la siguiente direccion http://www.mkyong.com/