ASG E-mail: código fuente para enviar emails
El editor americano Automated Solutions Group distribuye unos plug-ins populares como Area List Pro y ha abierto en su página Web una sección freeware con una primera entrega que explica cómo enviar emails desde una base 4D. Se trata de una estructura interpretada en versión 4D 2003, pero que se puede convertir fácilmente a 4D 2004…
… (no olvidar cambiar el plug-in por la versión actual, así como el nombre de la carpeta Plugins, en lugar de Mac4DX/Win4DX). En la página de descarga se puede bajar una versión para Mac y otra para Windows.
Con la misma filosofía de las bases “Cómo lo hago” que 4D publica en su sección de Demos, la aplicación contiene un único menú para enviar un email, tras definir el servidor smtp, las claves de autenticación, el remitente, el título y el cuerpo del email, opcionalmente en formato HTML. El código fuente es libremente accesible para entender, analizar y copiar los procedimientos.

Esta aplicación se dirige especialmente al usuario que está descubriendo 4D y todavía no tiene mucha soltura con la sintaxis de los 4D Internet Commands. Gracias a esta base, podrá empezar a enviar emails y entender luego cómo se programa, lo que provoca menos frustración que empezar desde cero.
Esta base funciona correctamente pero no está de más señalar algunos pequeños detalles que podrían despistar al usuario que se inicia con 4D:
Han olvidado asignar la barra de menú principal al proceso SendMailDemo, con lo cual éste no dispone del menú Edición y es imposible copiar/pegar texto en las cajas de texto, lo que es indispensable si se trata de código HTML. Esto se corrige fácilmente añadiendo el comando MENU BAR(1) en el método SendMailDemo.

Para enviar un correo a destinatarios múltiples, la sintaxis no es estándar: hay que separar las direcciones por un punto y coma, en lugar de la coma tradicional (por supuesto eso también se puede modificar).
El campo Reply-to es en realidad el campo From. La misma dirección alimenta los comandos SMTP_SendTo y SMTP_ReplyTo (líneas 90 y 91 del método WEB_SendMail). No resultaría dificil distinguir los dos campos.
Finalmente, incluso si no se marca la casilla HTML, se considera el cuerpo del mensaje como texto HTML siempre que se introduzca un login con password. No se trata de un bug sino que es voluntario, tal como lo explica el comentario de la línea 77. (La variable $htmlMail recibe siempre el valor 1, si el Password no está vacío, lo que dispara el tratamiento en modo HTML después)

Otra cosa muy sorprendente es que, al contrario de lo que se indica en la página Web de ASG, no se pueden enviar archivos adjuntos. Mejor dicho, esa función ha sido programada (con “atAttachList”, el parámetro nº8 en el método de objeto del botón bSendMail), pero parece que han olvidado realizar la interfaz que permite designar los attachments. Si no te quieres “divertir” completando el formulario con este objeto, posiblemente en poco tiempo estará disponible la corrección.
A pesar de las pequeñas imperfecciones de la versión 1.0 de ASG E-mail, esta base no pretende ser un cliente de correo completo (falta la parte recepción) pero tendrá su utilidad para vulgarizar el uso de los 4D Internet Commands. Por este motivo esta iniciativa merece ser recibida con mucha fuerza e ilusión. Esperaremos las próximas entregas que publique ASG.
Publicado el 2 Julio, 2007 por redaccion | | Imprime este artículo
4 Febrero, 2008 a las 7:57 pm
Muy buena esta aplicacion, y bien explicada para gente que esté empezando.