Вы находитесь на странице: 1из 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.

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 opcin properties, buscamos y seleccionamos la
opcin java build path y seleccionamos la pestaa libraries.

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 opcin para que nos
genere el metodo main.

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

8. Ahora vamos a escribir el cdigo para el envo del mensaje. Explicare linea
por linea lo que iremos haciendo y luego mostraremos como queda el cdigo
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;

//Ahora si empezamos con la programacin. Esto ya va dentro del metodo main.


//Definimos 2 variables tipo String con el usuario y contrasea del correo que
vamos a usar, para que cuando llegue el momento solo las introduzcamos
final String username = "orantes19@gmail.com";
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 sesin en gmail por medio del siguiente cdigo.
Session session = Session.getInstance(props,
new javax.mail.Authenticator() {
protected PasswordAuthentication
getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});

// Con lo anterior tendremos iniciada nuestra sesin en gmail


// Ahora procedemos a crear el mensaje y hacer el envo.
Try {
//Creamos un nuevo mensaje, y le pasamos nuestra sesin
iniciada en el paso anterior.
Message message = new MimeMessage(session);
//Seteamos la direccin 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("orantes@outlook.com"));

//Seteamos el asunto
message.setSubject("Prueba Java Mail");
//Y por ultimo el texto.
message.setText("Estimado Typing Code, \nEstamos aprendiendo Java Mail.");
//Esta orden enva el mensaje
Transport.send(message);
//Con esta imprimimos en consola que el mensaje fue enviado
System.out.println("Mensaje Enviado");

catch (MessagingException e) {
//Si existiera un error en el envo 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 cdigo quedara as.

10. Probamos nuestro cdigo, y luego vamos a revisar el correo que pusimos de
destino 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 funcionara 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/

Вам также может понравиться