Suscribirse al Feed
07Nov

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:

javac -cp mail.jar:. EnviarMail.java
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.

Descargar

Enviar a Twitter

11 Comentarios para “Enviar correo desde Java”

« 1 2 Todos

  1. a gravatar

    Martín dice:  


    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

  2. a gravatar

    Cristian dice:  


    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.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");

    Gracias a chuidiang.com

    Un saludo!

  3. a gravatar

    Martín dice:  


    ¡Perfecto! Muchas gracias.

  4. a gravatar

    frederick dice:  


    pana tengo este error :

    javax.mail.MessagingException: Unknown SMTP host: mail.servidorcorreo.com;

    que hago ahi

  5. a gravatar

    Cristian dice:  


    @frederick debes cambiar “mail.servidorcorreo.com” por un servidor de correo SMTP. Ese es solo un ejemplo ;)

    Un saludo!

  6. a gravatar

    ZiTAL dice:  


    Que paciencia tienes… sigue así un saludo.

  7. a gravatar

    Adan dice:  


    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

  8. a gravatar

    Victor Garijo dice:  


    ¿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.

« 1 2 Todos

 

 

Antes de comentar... recuerda que no hago tareas

Te invito a subscribirte al feed RSS. ¿No sabes que es un lector de Feeds?

© 2007 - 2008 Dezinerfolio. Todos los derechos reservados.
Powered by Wordpress. Entradas RSS