Javamail OC4J

En esta entrega voy a comentar un problema que nos encontramos y la no solución que adoptamos.
Nosotros desarrollamos sobre Tomcat 5.5 lo que al final se desplegará en el servidor de nuestro cliente un OAS, con un servidor OC4J. En un momento dado tuvimos que implementar una solución que enviase correos electrónicos y la primera opción de cuenta fue utilizar una cuenta de gmail mientras el cliente nos proporcionaba una cuenta de su dominio.
La web está plagada de ejemplos de código sobre como enviar correos desde java a través de una cuenta de gmail. Un buen tutorial se puede encontrar  aquí .
En desarrollo todo funcionó de maravilla,..... en desarrollo.
Casi todo el código disponible en la web está escrito para javamail 1.4 pero oc4j implementa las librerias de javamail 1.3 y para establecer la conexión con el proveedor, gmail, hace falta las 1.4. Y da igual dónde metamos las 1.4, podemos meterlas en el ear, war o en las shared del servidor, al final oc4j siempre va a pillar las 1.3 y no podrá establecer comunicación con smtp.gmail.com.
Javamail  1.4 ya lleva con nostros más de seis años y en las propias páginas de Sun (Oracle) indica que se puede (y se debería) sustituir el archivo "mail.jar" por un bundle que contenga las javamail 1.4 (apache.geronimo.javamail ? creo que era una opción que probamos con éxito).
El servidor de producción era intocable, nada de actualizar el mail.jar: esa era la política del cliente. Si eso era así era de esperar que el servidor de correo tampoco estuviese muy actualizado y, efectivamente, cuando ya nos proporcionaron una cuenta en su servidor este no necesitaba ningún provider medio moderno. Reescribimos el código a la usanza de javamail 1.3 y solucionado.

Comentario aparte. Si lo que se quiere es escribir correos de puro texto posiblemente la opción más sencilla sea utilizar el SimpleEmail http://commons.apache.org/email/  si queremos enviar adjuntos también podemos con esas librerías, pero la ganancia ya no será tan importante... para mi gusto.

Comentarios