gentoo linux, java, software libre y otras hierbas
Nov, 07 2009 - 2:38 pm

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

15 Comentarios | deja el tuyo