Los correos electrónicos son la comunicación más utilizada en la era digital actual. Los correos electrónicos también pueden ser una vía de comunicación con los dispositivos IoT. Los correos electrónicos se pueden utilizar para pasar comandos a dispositivos IoT. Luego, los dispositivos se pueden programar y configurar para leer los correos electrónicos entrantes y actuar en consecuencia. Puede haber aplicaciones interesantes creadas de esta manera. Para recibir correos electrónicos, los dispositivos IoT deben configurarse como cliente de correo electrónico. Solo pueden recuperar correos electrónicos a través de un protocolo de correo electrónico estándar. El Protocolo de acceso a mensajes de Internet (IMAP) es uno de los protocolos de mensajería de correo electrónico estándar.
Es un protocolo de mensajería de correo electrónico estándar utilizado en todo el mundo en el siglo XXI. Después de que la era de Internet comenzó a ganar impulso, la mayoría de las tareas de correo electrónico y mensajería se basaron en POP (Protocolo de oficina postal). A medida que surgió la necesidad de un protocolo de mensajería más robusto, flexible y avanzado, Mark Crispin inventó un protocolo de buzón de correo remoto en 1986 conocido como IMAP. También se conocía como Protocolo interactivo de acceso al correo y Protocolo provisional de acceso al correo. IMAP fue diseñado con el objetivo de gestionar completamente la bandeja de entrada de varios clientes de correo electrónico. Los clientes generalmente dejan un mensaje en el servidor hasta que el usuario lo elimina explícitamente.
Ventaja de IMAP sobre la versión anterior POP –
IMAP ofrece varias ventajas sobre las versiones POP anteriores, como se muestra a continuación:
1) Respuesta rápida: la versión 4 de IMAP permanece conectada al servidor, a diferencia de POP, donde la conexión se pierde brevemente después de que se completa la descarga del correo electrónico. IMAPv4 permite una respuesta cada vez más rápida porque permanece conectado al servidor.
2) Múltiples clientes conectados simultáneamente al mismo buzón: IMAP permite que múltiples clientes se conecten al mismo buzón desde diferentes POP donde los clientes actualmente conectados deben ser el único buzón de cliente conectado . IMAP nos permite abrir Gmail en el PC, teléfono o pestaña al mismo tiempo.
3) Información del estado del mensaje: existen diferentes indicadores en IMAP para diferentes estados de los datos del correo electrónico. Por ejemplo, se puede comprobar el estado del correo electrónico si se ha recibido, leído o respondido. Estos indicadores se almacenan en el extremo del servidor , por lo que al abrir el buzón en cualquier dispositivo se puede actualizar el indicador y el estado se puede ver en cualquier dispositivo.
4) Búsqueda del lado del servidor: IMAP proporciona búsqueda del lado del servidor , por lo que el cliente no necesita descargar todos los datos a su dispositivo para realizar la búsqueda. Esto ayuda a disminuir la carga útil de datos y acelerar el uso de la base de datos de correo electrónico.
Sin embargo, IMAP tiene muchas ventajas, la desventaja es que agrega complejidad a la implementación en relación con POP.
Cómo funciona el protocolo IMAP –
Un servidor IMAP normalmente escuchará las solicitudes en el puerto número 143 y si SSL (Secure Socket Layer) está presente, entonces el puerto número 993. La transmisión y recepción de correos electrónicos se realiza mediante dos protocolos: SMTP (Protocolo simple de transferencia de correo) e IMAP. Los correos electrónicos se reciben mediante el protocolo IMAP en los siguientes pasos:
1. Conexión abierta
2. Autenticación
3. Seleccione la carpeta
4. Buscar
5. Salir
Un algoritmo básico para recibir correos electrónicos en IMAP se resume en la siguiente imagen:

Fig. 1: Imagen que muestra el algoritmo de recuperación de correo electrónico del protocolo
1. Abrir conexión: para inicializar el proceso de recuperación de correo, primero debe abrir un objeto de socket. Un socket es un punto final interno para enviar y recibir datos en un único nodo en una red informática . Los datos se pueden enviar o recibir utilizando este objeto de socket.
2. Autenticación: una vez que se establece un socket, se debe transmitir el nombre de usuario y la contraseña para la autenticación. El servidor responderá Aceptar para corregir las credenciales y preguntará si las credenciales son incorrectas.
3. Seleccione la carpeta: una vez autorizadas las credenciales, se puede acceder al acceso completo al buzón y a la lista de carpetas enviando comandos de carpeta. El servidor responderá con una lista de carpetas como “Bandeja de entrada”, “Enviados”, “Papelera”, “Borradores”, etc. servidor se debe seleccionar una carpeta para la cual el usuario desea ver/administrar datos.
4. Buscar: una vez seleccionada la carpeta, se pueden recibir datos mediante comandos de búsqueda. El usuario recibirá la lista de correos electrónicos no leídos y datos de correo electrónico de la carpeta seleccionada . Tiene la capacidad de editar datos, marcarlos como leídos/no leídos o eliminarlos si es necesario.
5. Cerrar sesión: cuando el usuario cierra sesión en el servidor, el servidor cierra la conexión, por lo tanto, el objeto socket se cierra. No se pueden transmitir ni recibir datos/señales mediante IMAP una vez cerrada la conexión.
Al implementar el protocolo IMAP, STARTTLS se puede utilizar para proporcionar una comunicación segura entre múltiples nodos emisores/receptores.
Formularios –
Todos los servidores de correo electrónico como Gmail y Yahoo admiten protocolos IMAP para la gestión del correo electrónico. Un usuario puede leer y administrar sus correos electrónicos desde múltiples dispositivos usando IMAP. Un ejemplo del mundo real son los dispositivos portátiles. Los correos electrónicos se almacenan en Google, los servidores de Google y IMAP ayudan a recuperar y administrar datos de correo electrónico en dispositivos portátiles. Los dispositivos portátiles tienen una aplicación integrada que admite IMAP. Cuando se conecta a Internet, la aplicación inicializa un objeto socket y solicita un nombre de usuario y contraseña. Las credenciales se envían al servidor y, después de la verificación, el usuario generalmente ve los datos en la carpeta Bandeja de entrada. La carpeta de la bandeja de entrada está seleccionada en la aplicación de forma predeterminada y, posteriormente, la interfaz de usuario de la aplicación también le permite ver otras carpetas. Le permite administrar el buzón de correo como si el usuario pudiera eliminar correos electrónicos, marcarlos como leídos /no leídos, etc.
En el siguiente tutorial, aprenderá cómo recibir comandos por correo electrónico en un dispositivo IoT basado en Raspberry Pi .