Javamail

JavaMail es una expansión de Java que facilita el envío y recepción de e-mail desde código java. Usando la informacion de una cuenta mail cualquiera se puede realizar el envio y la recepcion de mails desde una aplicacion java.

Los proyectos que quieran usar esta aplicacion necesitan usar la libreria propia del programa y la de JavaBeans Activation Framework.

Para el envio de mensaje usado en la practica, requiere la informacion precisa de la cuenta a traves de la cual se enviaran los mensajes. una cuenta de gmail, por ejemplo necesitara de :

usuario y password. El usuario es la cuenta de correo, pondremos por ejemplo, moc.liamg|olpmeje#moc.liamg|olpmeje
Protocolo smtp
protocolos de seguridad TLS si está disponible
Puerto 587, que no es el por defecto de smtp.

Instalar el API JavaMail
Instalación
Hay dos versiones del API JavaMail usadas comunmente hoy en dia: la 1.2 y la 1.1.3. Todos los ejemplos de este artículo funcionan con ámbas. Mientras 1.2 es el último, 1.1.3 es la versión incluida en la versión 1.2.1 de la Plataforma Java 2 Enterprise Edition (J2EE), por eso es tan usado. La versión del API que queramos usar afecta a lo que tengamos que descargar e instalar. Todo funcionará con el JDK 1.1.6+, de la Plataforma Java 2, Standard Edition (J2SE) versión 1.2.x, y J2SE versión 1.3.x.

Nota: después de instalar la implementación de JavaMail de Sun, se podrá encontrar muchos programas de ejemplo en el directorio: demo.

Instalar JavaMail 1.2
Para usar el API JavaMail 1.2, descargamos la implementación, JavaMail 1.2, descomprimimos el fichero javamail-1_2.zip, y añadimos el fichero mail.jar a nuestro CLASSPATH. La implementación 1.2 viene con proveedores para SMTP, IMAP4, y POP3 junto con las clases corazón.

Después de instalar JavaMail 1.2, instalamos el marco de trabajo de activación de JavaBeans.

Instalar el Marco de Trabajo de Activación de JavaBeans
Todas las versiones del API JavaMail requieren el Marco de Trabajo para la Activación de JavaBeans.

El marco de trabajo añade soporte para tecleo arbitrario de bloques de datos y manejarlos correctamente. Esto no suena muy bien, pero es nuestro soporte básico para MIME-type encontrado en muchos navegadores y herramientas de correo, hoy en día. Después de descargar el marco de trabajo, descomprimimos el fichero jaf1_0_1.zip, y añadimos el fichero activation.jar a nuestro CLASSPATH.

Para usuarios de JavaMail 1.2, deberíamos tener mail.jar y activation.jar en nuestro CLASSPATH o incluirlos en nuestro proyecto.

Si no queremos modificar nuestra variable de entorno CLASSPATH, copiamos los ficheros JAR a nuestro directorio lib/ext bajo el directorio del Java Runtime Environment (JRE). Por ejemplo, para la versión J2SE 1.3, el directorio por defecto sería C:\jdk1.3\jre\lib\ext en una plataforma Windows.

Configurar Nuestro Entorno JavaMail
Paso 1
Descargar la última versión de la implementación del API JavaMail desde Sun.

Paso 2
Descargar la última versión del Marco de Trabajo de Activación de JavaBeans desde Sun.

Paso 3
Descomprimir los paquetes descargados. Obtendremos un fichero ZIP para todas los plataformas de los dos paquetes.

Podemos usar la herramienta jar para descomprimir los paquetes.

Paso 4
Añadimos los ficheros mail.jar y activation.jar recien descomprimidos a nuestro CLASSPATH.

Copiamos estos ficheros a nuestro directorio de librerías de extensión. Para Windows, y usando una instalación por defecto, el comando se parecería a esto:

cd \javamail-1.2
copy mail.jar \jdk1.3\jre\lib\ext
cd \jaf-1.0.1
copy activation.jar \jdk1.3\jre\lib\ext

Si no nos gusta copiar los ficheros al directorio de librerías de extensión, en Sun puedes encontrar instrucciones detalladas para configurar el CLASSPATH sobre Windows NT

Paso 5
Vamos dentro del directorio demo que viene con la implementación del API JavaMail y compilamos el programa msgsend para enviar un mensaje de prueba:

javac msgsend.java

Paso 6
Ejecutamos el programa pasandole una dirección "from" en la opción -o, nuestro servidor SMTP con la opción -M, y la dirección "to" (sin opción). Luego introduciremos el subject, el texto de nuestro mensaje y el caracter de fin-de-fichero (CTRL-Z) para indicar el final de la introducción del mensaje.

Debemos asegurarnos de reemplazar las direcciones correctas:

java msgsend -o from@address -M SMTP.Server to@address

Si no estas seguro de tu servidor SMTP, contacta con el administrador de tu sistema o pregunta a tu proveedor de Internet.

Paso 7
Para asegurarnos de que hemos recibido el mensaje, debemos chequearlo con nuestro lector de correo habitual (Eudora, Outlook Express, pine, …).

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License