Vamos a ver dos ejemplos de programación de clientes SMTP. Uno de ellos basado en sockets
y otro realizado mediante el API javax.mail
.
En el primer caso, usando sockets
, el ejemplo completo y explicado en detalle lo puedes consultar en el siguiente enlace:
En el segundo caso, utilizaremos el API javax.mail
. Este paquete proporciona las clases necesarias para implementar un sistema de correo. Vamos a destacar las clases y métodos del paquete javax.mail
que nos permitirán crear nuestro cliente de correo:
- Clase
Session
. Representa una sesión de correo. Agrupa las propiedades y valores por defecto que utiliza el APIjavax.mail
para el correo.- Método
getDefaultInstance()
. Obtiene la sesión por defecto. Si no ha sido configurada, se creará una nueva de manera predeterminada. El parámetro que se le pasa debe recoger al menos las siguientes propiedades: protocolo y servidor smtp, puerto para elsocket
de sesión y tipo, usuario y puerto smtp).
- Método
- Clase
Message
. Modela un mensaje de correo electrónico.- Método
setFrom()
. Asigna el atributoFrom
al mensaje, siendo éste la dirección del emisor. - Método
setRecipients()
. Asigna el tipo y direcciones de destinatarios. - Método
setSubject()
. Para indicar asunto del mensaje. - Método
setText()
. Asigna el texto o cuerpo del mensaje.
- Método
- Clase
Transport
. Representa el transporte de mensajes. Hereda de la claseService
, la cual proporciona funcionalidades comunes a todos los servicios de mensajería, tales como conexión, desconexión, transporte y almacenamiento.- Método
send()
. Realiza el envío del mensaje a todas las direcciones indicadas. Si alguna dirección de destino no es válida, se lanza una excepciónSendFailedException
.
- Método
En la siguiente presentación te indicamos los pasos a seguir para descargar el API javax.mail
e integrarla en NetBeans.