19 noviembre 2016

Errores de programación: no te fíes siempre de la documentación

Hoy vengo con algo que no es estrictamente un error de programación, sino, más bien de especificaciones.

Estoy trabajando en un código PhP que lea correos de una cuenta POP3 normal y corriente. Creo la cuenta siguiendo las instrucciones del proveedor, el cual indica que sus correos están protegidos por SSL y dice que hay que usar el puerto 993 para el protocolo IMAP y el 995 para el POP3.

Con toda inocencia, me quiero conectar al servidor de correo usando la función imap_open, utilizando como nombre del servidor:

{Servidor de correo del proveedor:993/imap/ssl}INBOX

Como ya soy programador viejo, me digo a mí mismo: "esto no va a funcionar". En efecto. Mi servidor se queda pensando y pensando y se queda la página en blanco. Después de varias ediciones del código, descubro que al poner la ruta en el navegador, en vez de, por ejemplo, email.php había puesto emaiil.php (dos "i") y el servidor en vez de tener el detalle de decirme "página no encontrada", intentaba ejecutarla y me daba una pantalla en blanco.

Cuando escribo correctamente el nombre del php, lo que me salta es "Error 500" porque el "script" estaba tardando mucho tiempo. Y yo sin saber qué pasaba, aunque sospeché que imap_open trataba de abrir el buzón y como algo lo bloqueaba, acababa excediendo el tiempo límite.

Después de muchas vueltas, decido intentar entrar por Telnet (que en los Windows nuevos ya no está instalado por omisión y hay que instalarlo). En Telnet, imap en el puerto 993 o pop3 en el 995 no entran; el servidor te echa. O es un problema con el ssl o con el certificado del servidor (o que este te rechaza si entras desde fuera, que de todo te encuentras en estas redes). Intento las opciones /notls y /novalidate-cert, lo que resulta inútil, y se me ocurre intentar la entrada por los puertos 143 y el 110, los estándar si no hay ssl.

Al final, funcionó el 110 con pop3...

Moraleja: diga lo que diga el dueño del servidor, si no puedes entrar a la primera, prueba las configuraciones por omisión, las de toda la vida y luego, si te interesa, rómpete la cabeza para que entren las que el proveedor de servicios te dice.

Moraleja 2: usar telnet te hace sentir poderoso... puedes leer un buzón de correo hablando directamente con el servidor (tú le das órdenes y el responde OK). Resulta gratificante, parece que eres un experto en ordenadores y todo.

03 noviembre 2016

Estadísticas del inicio de noviembre



Como prometía hace un mes, voy a poner el número de seguidores de cuatro cuentas que mantengo en Facebook y Twitter, para poder comparar con los números que había el 1 de octubre . Los resultados, con el mismo orden que había a principios del mes pasado, son:

Página del Portal de Ciencia y Medio Ambiente. (página de Facebook dedicada a la ciencia y el medio ambiente). Seguidores: 817. (Aunque bajaron durante octubre, al final se recuperaron y sigun siendo los mismos que el 1 de septiembre).

Twitter de @sinciforma (ciberocupación del Twitter con el nombre de mi empresa. Hablo de ciencia, tecnología...). Seguidores 866 (eran 846 el 1 de octubre).

Twitter de @jcuquejom (mi Twitter personal, dedicado a promover las cosas que escribo y que leo. Consideradlo un Twitter de autor). Seguidores: 440 (eran 379 el 1 de octubre).

Página de Sinciforma (página de Facebook dedicada a mi empresa. Prácticamente sin contenido...). Seguidores: 28. (No han cambiado desde el 1 de septiembre).

Solo suben las cuentas de Twitter, 22 la primera y 61 la segunda.


A principios de diciembre, volveré a publicar esta información y nos volveremos a reír, o lloraremos, o lo celebraremos.