Boletín de RedIRIS n. 58-59

WAPMAIL: una pasarela WAP al correo electrónico

WAPMAIL: a WAP gateway to the e-mail

A. Fargas y J. A. Martínez

Resumen

Durante los últimos años ha habido una proliferación de teléfonos móviles en nuestra sociedad y se ha extendido la necesidad cada vez más imperiosa de estar comunicados. Esta necesidad, a veces creada, ha hecho que dispositivos que caben en la palma de la mano lleguen a tal complejidad que incluyen funciones de reconocimiento de voz, PDAs, funciones de "chat", etc...

Por otra parte, la enorme popularidad de Internet y su uso extendido entre la sociedad es un hecho indiscutible. La tecnología WAP, destinada a dispositivos inalámbricos, intenta juntar estos dos mundos: el mundo inalámbrico y el mundo Internet.

Este artículo presenta la construcción de una herramienta tipo Webmail que funciona sobre WAP. Esta herramienta "WAPmail" permite, haciendo uso de protocolos creados para Internet (IMAP, SMTP, etc...), interaccionar con el correo electrónico desde cualquier dispositivo WAP, es decir, disponer de acceso a nuestro buzón de correo desde cualquier lugar donde nos encontremos. Eso sí, siempre condicionados a una palabra cada vez más popular: la cobertura.

Palabras clave: WAP, WML, mail, IMAP, SMTP, PHP

Summary

In the last few years, the number of mobile phones has increased in a significant way. At the same time, we feel the need to be 'always on'. This need ­sometimes forced­ has increased the functionality and complexity of these devices, which can be held in one´s hand. They even include functions such as voice recognition, agendas, chats,...

In addition, no one doubts about Internet's increasing use and popularity. WAP technology tries to join these two worlds: Internet and the mobile communication environment.

This article tries to explain the implementation of a WAPMail client. This application is similar to the well- known WebMail servers. It uses standard mail protocols (SMTP, IMAP) to interact with the e-mail service from any WAP device. We will be able to check our mailbox from any place, provided ­of course­ we have no coverage problems.

Keywords: WAP, WML, mail, IMAP, SMTP, PHP

1.- Introducción: WAP y WAPMail

WAP puede sin duda ayudar a resolver una de las necesidades primordiales de las redes actuales: el acceso universal al correo. En este artículo describiremos como hemos realizado la implementación de un sistema de WAP para acceso al correo. Desde nuestro punto de vista, WAP no debe ser un sustituto de la Internet actual, sino una herramienta para dotar al usuario de servicios concretos.

Los servicios clásicos basados en HTML son difícilmente integrables en dispositivos móviles. HTML es un lenguaje pensado para una visualización en pantalla y el trabajo desde ordenadores de sobremesa. Aún así, la idea de la navegación intuitiva, inherente al HTML podía ser aprovechada para los entornos móviles. Con esta idea en mente, se crea el WML (Wireless Markup Language), que podemos considerar la adaptación al mundo móvil del conocido HTML.

A la hora de pensar en servicios WAP, el enfoque debe ser radicalmente distinto al que tenían las páginas HTML existentes hasta ahora. WAP está orientado a quienes no desean perder tiempo buscando los servicios que necesitan y, por tanto, precisan de pequeños "portales" que les proporcionen acceso inmediato a un amplio rango de servicios, tanto de negocio como de entretenimiento. Dentro de estos servicios, uno de los más relevantes desde nuestro punto de vista es el correo electrónico.

En el presente artículo describimos la implementación que hemos hecho para acceder al correo electrónico desde cualquier teléfono móvil. La solución propuesta será completamente abierta, y permitirá la interconexión con cualquier servidor que soporte el protocolo IMAP.

2.- Arquitectura típica de portal WAP

Antes de diseñar la aplicación en sí, resulta útil analizar el entorno de funcionamiento. En un sistema WAP, un cliente accede a una red móvil. Su objetivo es obtener información de una red IP. El diagrama de bloques de funcionamiento sería el que se muestra en la figura siguiente:

Figura 1. Arquitectura de Portal WAP

Los elementos que intervienen son:

  • Servidor de información: ubicado en una red IP.
  • WAP Gateway: que realiza la conversión entre el mundo móvil y el IP clásico. Existen implementaciones software de este gateway, que pueden ubicarse en la red local. Aun así, en nuestro caso hemos optado por hacer uso de los gateways del operador. En las referencias pueden encontrarse productos para implementar este gateway.

3.- Funcionamiento del sistema WAPMail

3.1.- Visión general de la aplicación

La función de WAPMail es permitir la visualización de cualquier buzón que soporte protocolo IMAP. Al acceder al sistema, el usuario especifica su login, password y buzón donde se ubica la cuenta.

Gráficamente, la visualización de la pantalla inicial queda como:

Figura 2. Captura de pantalla

Una vez verificado que el login y password son correctos, el usuario puede moverse a través de las carpetas de la cuenta y visualizar los mensajes que contiene. Seleccionar uno y visualizar el contenido, contestarlo, reenviarlo, borrarlo, etc... También permite enviar correo. El sistema recoge un log de las acciones que realiza el usuario.

Siguiendo la filosofía WAP, no se han añadido más funciones. No se pretendía implementar todas las funciones características de un Webmail, sino más bien hacer un programa útil y manejable a través de un interfaz sencillo. Aún cuando todavía no disponemos de estadísticas de uso, creemos que la utilidad fundamental es la consulta de correo, ya que el redactado es más complejo debido a la naturaleza de los terminales actuales.

Para usar la aplicación, no hace falta crear una cuenta especial de correo, sólo que se trate de un buzón IMAP. Hay un servidor IMAP predeterminado, para simplificar la introducción de datos, pero puede cambiarse desde el mismo terminal. En cambio, el servidor SMTP para los mensajes salientes queda establecido por la configuración de la máquina Unix donde está instalado WAPMail (en nuestro caso "Sendmail").

Desde el punto de vista de la seguridad, WAP la implementa en las capas inferiores de la arquitectura. Realmente, esto es una parte que en nuestra implementación queda del lado del operador móvil, ya que es él quien gestiona la pasarela. Desde el punto de vista del mundo IP, la conexión entre la máquina donde reside la aplicación y el servidor de correo se realiza fundamentándose en llamadas IMAP estándar.

Figura 3. Vision General de la Aplicacion

3.2.- Funcionamiento

Cuando el terminal móvil desea acceder a una página, la pide al servidor de información. Las páginas WML son servidas por el servidor, bien de forma directa o bien a través de un conjunto de cgis implementadas en PHP.

En el primer caso, la página WML contendrá código PHP, que el servidor interpretará y devolverá en forma de otra página WML. La página devuelta contendrá el resultado del código PHP, que también es WML.

Si la llamada desde el navegador se hace directamente a una página PHP, entonces esta página será interpretada por el servidor devolviendo una página WML.

En los dos casos, estas páginas devueltas pueden contener a su vez más llamadas a páginas WML o PHP, en cuyo caso el código se interpretará de nuevo en el servidor.

Concretamente el funcionamiento de nuestro programa es el siguiente:

  • En el terminal se llama a una página PHP localizada en el WebServer. El inicio de la sesión se hará mediante la llamada a http://wapmail.uab.es/ El WebServer devuelve una página WML que se visualiza en el terminal. En esta página el usuario introduce su login, el password y el servidor IMAP de su cuenta de correo.
  • El usuario pulsa la opción Login y automáticamente se llama a otra página PHP ubicada en el servidor Web. Esta llamada se hace pasando como parámetros los datos entrados por el usuario.
  • Si el Login ha sido correcto, el servidor Web devuelve una página WML con un menú de inicio. En esta página se pueden activar opciones como "Correo entrante", "Enviar correo", etc...
  • El servidor envía el resultado del conjunto de código HTML y el resultado del código PHP que también es HTML.


3.3.- Entorno de desarrollo

El desarrollo del proyecto se ha realizado en entorno UNIX, más concretamente en una máquina con Linux Red Hat. Sobre esta máquina se ha instalado un servidor Apache de páginas HTML con soporte para PHP.

Figura 4. Funcionamiento de la Aplicacion

De cara a la simulación del terminal móvil, se ha instalado un PC con un emulador de dispositivo WAP (en concreto el Nokia SDK) Dado que ambas máquinas disponen de conectividad IP, podemos comprobar la salida que produciría la aplicación por un dispositivo móvil sin necesidad de efectuar una llamada.

Para el desarrollo de la aplicación se ha utilizado el lenguaje PHP. PHP es una herramienta para crear páginas Web dinámicas, es un lenguaje de programación que se ejecuta en el servidor Web. La cantidad de librerías existentes en PHP facilitan la construcción de potentes aplicaciones en poco tiempo. Es un entorno multiplataforma: tanto funciona para Unix como Linux, Windows, etc...

haciendo que las aplicaciones sean inmediatamente portables de una plataforma a otra. La sintaxis que utiliza es muy parecida a lenguajes tan extendidos como C y Perl.

Por lo que respecta a los protocolos de correo, sencillamente cabe decir que existen funciones específicas de PHP para la implementación de rutinas IMAP y SMTP.

3.4.- Entorno de explotación

La diferencia básica entre el entorno de test y el de explotación radica en que el terminal móvil pasa de ser un emulador en un PC a ser un teléfono móvil con funciones WAP. Esto implica que la conexión entre el dispositivo y el servidor ya no se hace por Ethernet, sino a través de la pila de protocolos WAP hasta llegar a la pasarela WAP (WAP Gateway) que tiene la operadora del servicio. De la pasarela WAP hasta nuestro servidor Web llega a través de Internet (transacciones http). La comunicación entre el servidor Web y el servidor de Correo no cambia, se hace a través del protocolo IMAP.

4.- Conclusiones

La implementación expuesta permite acceder al correo de una forma sencilla y rápida desde cualquier punto con cobertura móvil. Desde nuestro punto de vista, ésta es una aplicación óptima para WAP.

Creemos que WAP no debe ser visto como la base de una nueva Internet móvil sino como una forma de acceder a algunos servicios que necesitan acceso rápido.

En cuanto al sistema, los costes de implantación son mínimos y el sistema es completamente abierto.

5.- Referencias

Para realizar este proyecto nos hemos nutrido fundamentalmente de contenidos de la red.

Acceso a la aplicación: http://wapmail.uab.es/
Información genérica sobre WAP: http://www.wapforum.org
Información sobre el servidor Web Apache: http://www.apache.org
Información sobre PHP: http://www.php.net
Implementaciones de los protocolos de correo: http://www.imap.org
XML y su relación con HTML http://www.w3c.org/

Aleix Fargas,
(dirección de correo aleix [dot] fargas [at] campus.uab.es)

Juan Antonio Martínez,
(dirección de correo juanan [dot] martinez [at] uab.es)

UAB - Unitat de Comunicacions
Servei d'Informàtica