Los sitios web no funcionan de esa manera. ¿Por qué? Los sitios web no se ejecutan sin una persona que mira la página web. Está describiendo un requisito que puede abordarse a través de un programa de fondo. Un programa de fondo es uno que se ejecuta solo en lugar de esperar a que una persona haga clic en algo. Puede hacer cosas constantemente como buscar correos electrónicos cada segundo sin cansarse.
Podría tener una página web que se actualice automáticamente cada segundo. Podría hacer que parezca que la página web está recibiendo datos de correo electrónico. Sin embargo, todo lo que realmente está sucediendo es que la página web está llegando al sistema de fondo.
El sistema de fondo puede funcionar de 1 a 3 formas. Limitaremos la discusión a Microsoft Windows Server aunque se pueda hacer un diseño similar en un servidor Linux.
- ¿Cuál es el mejor enfoque para resolver el problema que CRYPTO preguntó en el concurso de codificación PRAVEGA 2014 celebrado en Codechef el 9 de noviembre?
- 15 personas se sentarán en una fila de 15 sillas. ¿Cómo calculo cuántos planes de asientos se pueden hacer, donde dos planes de asientos se consideran iguales si dos planes comparten cuádruples adyacentes? o ¿Cómo puedo crear un algoritmo eficiente para encontrar límites inferiores para 15 o menos personas?
- Entre Palantir, Facebook y Google, ¿qué algoritmos de la compañía son los más rápidos y eficientes en la obtención de resultados a través de información basada en datos?
- ¿Cómo funciona el bucle dentro de un DP recursivo?
- ¿Qué enunciado describe mejor por qué la notación Big-O es una forma muy útil de analizar la complejidad del algoritmo?
Crearemos un servicio de Windows. Cuando Windows se inicia, iniciará el servicio automáticamente. No es necesario que el usuario final esté presente para iniciar el servicio. También puedo lograr algo similar con el Programador de tareas de Windows. Un servicio es más fácil de describir y tiene ventajas en esta situación.
El servicio se creó asumiendo que puedo compartir el acceso a los puertos TCP / IP 110 y / o 995. La tradición dice que el correo electrónico llega a través de Internet (no de la Web) a través de estos puertos. El servicio luego lee los datos enrutados a través de estos puertos. Decodifica los datos hasta que tengas un encabezado SMTP. El encabezado tendrá la dirección del remitente. En este punto, puede incorporar lógica para actuar sobre los datos y producir una salida adecuada.
Eso supone un sistema de correo electrónico simple. El sistema de correo electrónico de Microsoft no es simple. Un sistema de correo electrónico como Microsoft Exchange puede variar desde unos pocos cientos hasta unos pocos miles de dólares para alojarlo usted mismo o unos pocos dólares al mes para que Microsoft opere el sistema de correo electrónico por usted. De cualquier manera, tienes que conectarlo. Todavía podría usar el enfoque que mencioné pero con mucho más código para la intercepción.
El segundo enfoque es hacer lo que se llama retransmisión SMTP. La copia del contenido del correo electrónico puede existir temporalmente en una base de datos de archivos. Usted lee el archivo, levanta la dirección del remitente filtrada por tiempo y responde según corresponda.
La tercera opción es usar una API. La API es un método de programación para acceder a un sistema de manera apropiada para ese sistema. Microsoft Exchange y muchos sistemas de correo electrónico tienen API que puede usar para acceder a esos sistemas de una manera más ágil. Usaría la API de la misma manera que el método 1, excepto que el sistema de correo electrónico ya realizó los detalles de la decodificación del encabezado SMTP e informa los datos decodificados al programa en el momento en que el programa lo solicita. Pregunte con la suficiente frecuencia y el proceso puede aparecer casi en tiempo real.
Una página web en un ciclo de actualización automática luego extrae los resultados del programa de fondo. O bien, la página utiliza un servicio web (REST o SOAP) en el que aprovecha el programa de fondo para el sistema de correo electrónico en sí. Luego, la página web ejecuta código dentro de la página en JavaScript o informa el resultado de las acciones tomadas por el programa de fondo.