Download Envio de Correos con Java.

Document related concepts
no text concepts found
Transcript
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 opción properties, buscamos y seleccionamos la
opción “java build path” y seleccionamos la pestaña 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 opción para que nos
genere el metodo main.
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;
//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);
}
});
// 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("[email protected]"));
//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");
}
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í.
10. Probamos nuestro código, 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 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/