Enviar correo desde Java
Este es un pequeño ejemplo de cómo enviar correos desde Java usando el API de Java Mail. Lo único que necesitaremos es descargar la librerÃa mail.jar de la página de Java Mail y crear un programa de este estilo:
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
public class EnviarMail {
public static void main(String[] args) {
try {
// Se debe crear un archivo de propiedades que
// contenga el nombre del servidor SMTP
Properties props = new Properties();
props.put("mail.host", "mail.servidorcorreo.com");
// se crea un objeto de sesion
Session conexionCorreo = Session.getInstance(props, null);
// este objeto representa el mensaje a enviar
Message mensaje = new MimeMessage(conexionCorreo);
// los objetos Adress contienen informacion de recipientes de correo
Address desde = new InternetAddress("tucorreo@servidorcorreo.biz",
"Pepito Perez");
Address para = new InternetAddress("destinatario@otroservidor.com");
// asignamos el contenido. En este caso usamos 'text/plain' pero
// es posible usar 'text/html' para enviar correos con contenido
// HTML
mensaje.setContent("Este es un mensaje de texto plano!",
"text/plain");
// asignar el origen del correo
mensaje.setFrom(desde);
// asignar un destinatario
mensaje.setRecipient(Message.RecipientType.TO, para);
// asignar el asunto del correo
mensaje.setSubject("Hola, Java Mail!");
Transport.send(mensaje);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
Para compilarlo y ejecutarlo desde la consola:
java -cp mail.jar:. EnviarMail
Si estás usando Eclipse, debes añadir la librerÃa mail.jar al classpath. En este artÃculo explico cómo hacerlo.









MartÃn dice:
Noviembre 10th, 2009 a las 6:28 am
Buenas. Muy bueno el tutorial. SerÃa interesante si pudieras indicar cómo especificar la autenticación y los puertos para poder enviar correos utilizando el smtp de gmail por ejemplo.
Un saludo
Cristian dice:
Noviembre 10th, 2009 a las 10:30 pm
Hola MartÃn… en el caso de necesitar hacerlo con Gmail, tendrÃamos algo de este tipo:
// Nombre del host de correo, es smtp.gmail.comprops.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");
Gracias a chuidiang.com
Un saludo!
MartÃn dice:
Noviembre 11th, 2009 a las 4:28 am
¡Perfecto! Muchas gracias.
frederick dice:
Noviembre 12th, 2009 a las 6:10 pm
pana tengo este error :
javax.mail.MessagingException: Unknown SMTP host: mail.servidorcorreo.com;
que hago ahi
Cristian dice:
Noviembre 12th, 2009 a las 11:44 pm
@frederick debes cambiar “mail.servidorcorreo.com” por un servidor de correo SMTP. Ese es solo un ejemplo
Un saludo!
ZiTAL dice:
Noviembre 13th, 2009 a las 9:59 am
Que paciencia tienes… sigue asà un saludo.
Adan dice:
Noviembre 13th, 2009 a las 3:26 pm
Hola, estaba viendo tu blog y vi la forma en la que presentas tu codigo, quisiera saber como esque haces que tome esa apariencia, para explicarme bien, como haces que tu codigo se vea como en el Visual Studio, asi de colores
, me podrias compartir ese script por fa
Victor Garijo dice:
Noviembre 17th, 2009 a las 6:19 pm
¿Cómo integro el API Java.Mail? Osea, ¿dónde guardo l carpeta descargada del link que propones?
Excelente ejemplo. Esto, más o meenos lo hice en C sharp.