ENVIO DE CORREO DICIEMBRE 2008

Anuncio
Envio de correo
Framework Fatwire
ENVIO DE CORREO
DICIEMBRE 2008
Área de Integración y Arquitectura de Aplicaciones
Dirección de Análisis y Mantenimiento de Aplicaciones y Desarrollos Institucionales
Subdirección General de Desarrollo, Tecnología e Infraestructuras
Página: 1
Envio de correo
Framework Fatwire
1 TABLA DE CONTENIDO
1
TABLA DE CONTENIDO............................................................................ 2
2
INSTALACIÓN ............................................................................................ 3
2.1
Introducción................................................................................................. 3
2.2
Instalación de ficheros ................................................................................ 3
2.3
Descripción de uso ..................................................................................... 4
2.3.1
2.3.2
3
Configuración del servidor de correo ....................................................................... 4
Uso en el código ...................................................................................................... 5
Nota. Envío con adjuntos (cliente)........................................................... 5
Área de Integración y Arquitectura de Aplicaciones
Dirección de Análisis y Mantenimiento de Aplicaciones y Desarrollos Institucionales
Subdirección General de Desarrollo, Tecnología e Infraestructuras
Página: 2
Envio de correo
Framework Fatwire
2 INSTALACIÓN
2.1 Introducción
En el documento se explica como instalar en el kit de desarrollo entregado por
ICM para habilitar el envio de correos.
La configuración del servidor de correo se obtiene de unas propiedades
existentes en el site de Comunidad de Madrid, ya que al ser datos comunes par
todos los sites, nos ahorramos el tener que replicarlos.
2.2 Instalación de ficheros
El elemento que envie el correo lo componen unas clases java que se incluirán
en la librería de etiquetas de ICM. Las clases necesarias son
ByteArrayDataSource, MailTag$CAuthenticator y MailTag del paquete
contentserver.tag.
Estando el kit instalado en la carpeta c:\icm, los pasos que hay que seguir para
la instalación de los ficheros son:
o Añadir los ficheros *.class a la librería icmtags.jar que se encuentra en
el directorio C:\ICM\FirstSite\resin\webapps\cs\WEB-INF\lib. Hay que
añadir los ficheros salvando la información de los directorios, de tal
modo que en el jar aparezca que el path de estos ficheros es
contentserver\tag\.
o Modificar el fichero ICM.tld para incluir la nueva funcionalidad. Este
fichero se encuentra en C:\ICM\FirstSite\resin\webapps\cs\WEBINF\futuretense_cs.
Para ello, entre la ultima etiqueta </tag> y la etiqueta final </taglib> se
ha de incluir las siguientes lineas:
<tag>
<name>sendmail</name>
<tagclass>contentserver.tag.MailTag</tagclass>
<bodycontent>empty</bodycontent>
<info>Enviar correo electronico</info>
<attribute>
<name>to</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>replyTo</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
Área de Integración y Arquitectura de Aplicaciones
Dirección de Análisis y Mantenimiento de Aplicaciones y Desarrollos Institucionales
Subdirección General de Desarrollo, Tecnología e Infraestructuras
Página: 3
Envio de correo
Framework Fatwire
</attribute>
<attribute>
<name>subject</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>body</name>
<required>required</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>formato</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>adjuntos</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
2.3 Descripción de uso
2.3.1 Configuración del servidor de correo
Los datos de configuración del servidor de correo se toman de las siguientes
propiedades (asset cm_property) del site de Comunidad de Madrid, para evitar
tenerlos duplicados en cada site:
o
o
o
o
o
CM_smtp_host
CM_smtp_user
CM_smtp_password
CM_smtp_port
CM_smtp_authentication
A la hora de enviar correo en formato html, si se quiere insertar imágenes o
ficheros de estilo que se encuentran en la carpeta de StaticFiles, es necesario
indicar la ruta absoluta de estos ficheros. Para tal efecto se pueden utilizar dos
propiedades que existen en el site de Comunidad de Madrid:
o CM_hostName (un valor de ejemplo sería www.madrid.org)
o CM_rutaContexto (un valor de ejemplo sería /cs/)
Área de Integración y Arquitectura de Aplicaciones
Dirección de Análisis y Mantenimiento de Aplicaciones y Desarrollos Institucionales
Subdirección General de Desarrollo, Tecnología e Infraestructuras
Página: 4
Envio de correo
Framework Fatwire
2.3.2 Uso en el código
En el elemento de código en el que se vaya a utilizar esta funcionalidad, lo
primero que hay que hacer es importar la librería de etiquetas ICM.tld con la
siguiente linea:
<%@ taglib prefix="icm" uri="futuretense_cs/ICM.tld" %>
Se llama a la función pasandole los parámetros correspondientes en la forma:
<icm:sendmail to=”…” replyTo=”…” subject=”…” body=”…” formato=”...”/>
Pasamos a explicar la función de cada parámetro:
o to (obligatorio). Destinatario del correo. Si es más de uno se ponen
separados por comas.
o replyTo (obligatorio). Dirección de email del que envia el correo.
o subject (obligatorio). Asunto del correo
o body (obligatorio). Mensaje del correo
o formato (opcional). Tiene dos posibles valores: texto o html. Indica el
formato en que se envia el correo. Por defecto es html.
o adjuntos (opcional). Tiene dos posibles valores: false o true. Indica si se
enviaran ficheros adjuntos o no.
Esta etiqueta crea un par de variables en Content Server, ErrorCode y
ErrorMsg, para indicar si el correo se ha enviado correctamente o ha surgido un
error.
Tras la llamada de esta función, podemos recuperar estas variables con el tag
“<ics:getvar…” e inspeccionar su valor, de tal modo que si ErrorCode es igual a
0 todo ha ido correctamente, en caso contrario ErrorCode contiene el valor -1.
La variable ErrorMsg contiene un mensaje explicativo del error, mensaje que
también se muestra en el fichero log de Content Server.
3 Nota. Envío con adjuntos (cliente)
Si se quieren enviar desde un formulario un correo adjuntando uno o mas
ficheros del cliente, se pondrá el parámetro adjuntos=true. Cuando en un
formulario existen campos input de tipo file, en la petición se reciben por cada
input de tipo file tres parámetros mas.
Sea por ejemplo un input de tipo file llamado FICHERO, el servidor recibirá
además los parámetros FICHERO_file, FICHERO_size, FICHERO_type. La clase java que
hemos desarrollado lo que hace es buscar que parámetros existen conteniendo
en el nombre el sufijo “_file” y los trata como si fueran ficheros a adjuntar, por lo
tanto hay que tener cuidado de que no existan en el formulario campos cuyo
nombre tengan ese sufijo cuando se vayan a enviar ficheros adjuntos.
Área de Integración y Arquitectura de Aplicaciones
Dirección de Análisis y Mantenimiento de Aplicaciones y Desarrollos Institucionales
Subdirección General de Desarrollo, Tecnología e Infraestructuras
Página: 5
Descargar