Problema con envío de correos en Prestashop

Versión de Prestashop: 1.5.0.17 (aunque seguramente será válido para otras versiones)

Hoy después de varias horas intentando averiguar por qué no podía enviar emails a través de la última tienda Prestashop que configuré, por fin di con la solución. El problema era que a pesar de tener la configuración correcta (servidor SMTP externo con todos sus datos bien puestos), al enviar el correo de prueba la tienda me devolvía el odioso mensaje en rojo:

Error: please check your configuration
There was a problem reading line 1 of an SMTP response. The response so far was:
[]. It appears the connection has died without saying goodbye to us! Too many emails in one go perhaps? (fsockopen: #0)

Finalmente, la clave estaba en la parte “the connection has died without saying goodbye to us“, lo que podía significar que, o bien el servidor de correo estaba mal configurado (descartado), o bien el tiempo que Prestashop estaba esperando por una respuesta era insuficiente. Después de dar muchas vueltas por el backend buscando este posible valor de configuración y no encontrarlo (qué raro que no sea un valor configurable), decidí mirar el código. Encontré el problema en las líneas 170 y 274 del fichero /classes/Mail.php, que efectivamente tenían valores que estaba claro que eran insuficientes:

Línea 170 :

$connection->setTimeout(4);

Línea 274 :

$smtp->setTimeout(5);

Cambié los respectivos valores por 5 y 10, y por fin pude ver el mensaje en verde que me indicaba que mis correos se estaban enviando.

Opinión sobre el proveedor de servicios Strato

Hace poco mi empresa empezó a contratar servidores dedicados en Strato, una empresa alemana con máquinas dedicadas bastante buenas a precios muy bajos comparativamente. Fenomenal, varias máquinas después y visto que la atención era relativamente buena, decidí contratar por mi cuenta y para uso personal varios dominios en esta misma empresa, ya que los precios para este servicio también están muy bien.

Mi sorpresa fue ver que el panel de control para dominios, que no había visto hasta ese momento, era tremendamente limitado: es imposible realizar una gestión completa de DNSs de los dominios que había contratado. En concreto, no era posible añadir subdominios asociados, es decir, no podía crear una dirección “www.midominio.com”, ni mucho menos “increible.midominio.com”. Por supuesto, tampoco podía añadirles una webmail externa, ni asociarles las google apps. Para cualquier operación de ese tipo debía actualizar el paquete contratado asociándole un hosting ¡¿?!, o como dirían los modernos, ¡¿WTF?!. Finalmente, después de varios mails y llamadas a Strato en los que me indicaron que lo que solicitaba era imposible (muy amables, eso sí) decidí llevarme mis dominios contratados a otro sitio… dentro de 2 meses, porque la ICANN (el máximo órgano del que dependen todas las URLs mundiales) establece que no pueden pasar menos de 2 meses desde que contratas un dominio hasta que lo puedes mover a otro proveedor. Menuda gracia.

Así que mucho cuidado con dejarse seducir por los bajos precios por contratación de dominios de Strato si lo que queréis es sólo contratar dominios sin ningún otro servicio asociado.

Exportar Certificados SSL de IIS 7 a Apache

Hoy tuve que migrar de IIS7 a Apache un dominio que tenía configurado un certificado SSL. No contaba con los ficheros necesarios para configurar la conexión segura en Apache (certificado y llave privada), ya que IIS7 los guarda encriptados en un formato propio. Afortunadamente después de mucho trastear, encontré la manera de sacar la información desde el fichero exportado por IIS7 (.PFX). Se trata de utilizar el comando “openssl”, que se instala con Apache en la carpeta bin, de la siguiente manera:

1. Exportar la llave privada del fichero pfx

openssl pkcs12 -in fichero_exportado_de_iis.pfx -nocerts -out llave.pem

2. Exportar el certificado del fichero pfx

openssl pkcs12 -in fichero_exportado_de_iis.pfx -clcerts -nokeys -out certificado.pem

3. Eliminar la clave que se adjunta a la clave privada, para que Apache no pregunte por la misma cuando arranca

openssl rsa -in llave.pem -out llave_lista.key

Ya podemos utilizar certificado.pem y llave_lista.key en nuestro fichero de configuración de Apache para configurar nuestro dominio con soporte para SSL.

Adiós, Alí

Alí
Adiós, querido amigo. Siempre te llevaré en mi corazón.

Chapuzas de la Agencia Española de Protección de Datos (AEPD)

Hace poco realicé el trámite para dar de alta un fichero en la Agencia de Protección de Datos, que ofrece la opción de realizar el trámite telemáticamente, como debe ser.

Después de rellenar toda la información, procedí a la firma del documento PDF con mi firma digital e hice click en el botón que permitía realizar el envío del formulario a la Agencia. El resultado fue el mensaje:

Se ha producido un error durante el proceso de envío. El servidor tiene un certificado SSL no válido

Leer mas

Rails 3.0, HTTP y HTTPS conviviendo en armonía

Uno de los últimos problemas con los que me he tenido que enfrentar ha sido la labor de conseguir que convivan rutas HTTP y HTTPS en una aplicación Rails 3.0 de forma que sólo se utilice HTTPS para unas pocas acciones determinadas y el resto de la aplicación se pueda navegar sin encriptar.

Hay muchos artículos en la red explicando cómo conseguir parte de la tarea, pero en todos los casos la información me resultaba incompleta porque:

  • En muchos de los ejemplos encontrados había que convertir la aplicación completa a HTTPS (yo sólo quería aplicar la encriptación a unas pocas acciones)
  • En la mayoría de casos había que instalar un certificado para trabajar en local (yo en local quería seguir trabajando sin SSL, utilizándolo sólo en producción)
  • ¡Algunas soluciones incluso pasaban por la modificación de Webrick para poder trabajar en la máquina de desarrollo con los 2 protocolos a la vez!
  • En la mayoría de soluciones, una vez que se forzaba el uso de SSL para una ruta, el resto de rutas no volvían a ser HTTP.
  • La solución utilizando before_filters en todos los controladores para desactivar HTTPS me resultaba muy engorrosa debido a que la aplicación en la que trabajo tiene muchos controladores, además de no ceñirse nada a los principios DRY que siempre procuro tener presentes.

Después de 2 días de investigación la solución que fabriqué fue:
Leer mas

15-O

Banner 15-O

Hoy, 15 de Octubre yo seré uno más entre la marea de personas de todo el mundo que alzamos la voz, unidas para conseguir cambiar el rumbo de la incivilización que nos tortura a diario con sus políticos corruptos, sus sistemas financieros intocables, sus malas decisiones que favorecen siempre a los mismos, su total falta de respeto por el medio ambiente. Como siempre, habrá quienes digan que esto no servirá para nada, que es una manifestación más, que somos unos perroflautas y toda la sarta de adjetivos con que siempre nos regalan, pero es igual, el cambio de conciencia global que es palpable por mucho que se quiera mirar para otro lado y la capacidad para organizarnos a nivel planetario, indican que no es una manifestación más, se trata quizá de la Primera Manifestación Mundial.

Los cambios se originan a partir de la toma de conciencia, de las ideas, y esta manifestación expande esa conciencia y grita en todas las direcciones que no somos pocos, que somos muchas las personas en el mundo las que estamos buscando maneras alternativas de hacer las cosas. Pero, como decía un amigo en la última Asamblea de mi pueblo, debemos tener cuidado, las manifestaciones no son el fin, no son nada sin el trabajo diario que hay que realizar para que esta toma de conciencia llegue a buen puerto y no naufrague en el mar abotargante de nuestro día a día. Todo el que tome conciencia debe asumir la responsabilidad moral que conlleva. Salir a la calle con pancartas está bien, pero es sólo la parte más lúdica del trabajo que tenemos por delante si realmente queremos cambiar la sociedad en la que vivimos.

Por eso el 15 de Octubre me manifestaré, pero al día siguiente acudiré a la Asamblea de mi pueblo, y al día siguiente quizá redactaré un acta y al día siguiente pensaré en propuestas para luchar contra la privatización del polideportivo de mi pueblo, y al día siguiente me informaré sobre lo que se habló en el último pleno municipal, y al día siguiente… Esa es la democracia participativa que buscamos e intentamos promover. Ciertamente el ritmo de vida que llevamos es prácticamente incompatible con esta forma de democracia, pero hay que darse cuenta de que el ritmo de vida que llevamos también puede y debe cambiar. A mí me faltan horas en el día, pero es un honor poder decir que estoy aportando mi minúsculo granito de arena al cambio que ya está en marcha.

¡BUEN 15-O PARA TODO EL MUNDO!

El eurodiputado Daniel Cohn-Bendit expresa su opinión sobre la ayuda económica a Grecia

Realmente soberbio.

El 19J yo voy a la marcha contra el pacto del euro

Porque:
– La forma en la que plantea el aumento de competitividad es bajando los salarios de la inmensa mayoría de trabajadores (si pago menos a los trabajadores, puedo vender más barato. Brillante).
– Presupone que el problema de Europa es la falta de productividad, cuando el verdadero problema ha sido causado por la especulación de los bancos.
– Busca, de manera implícita, que la deuda aumente, porque la deuda es el único negocio que proporciona beneficio a la banca.
– Las medidas que propone van directamente orientadas a disminuir el gasto público destinado a bienes sociales favoreciendo su conversión en negocios privados.
– La firma del pacto del euro no es voluntaria. Es el requisito que ha puesto sobre la mesa Angela Merkel a cambio de no dejar que los mercados devoren a los socios más débiles (entre ellos España)
– Cierra por ley la posibilidad de buscar cualquier otro modelo que no sea el neoliberal.

Aquí algunos enlaces a artículos de gente que sabe mucho más que yo de esto:
http://www.escolar.net/MT/archives/2011/06/no-al-pacto-del-euro.html
http://www.juantorreslopez.com/impertinencias/137/2410-19-j-contra-el-pacto-del-euro-democracia-real-en-europa-iya
http://www.attac.tv/altermedia/2011/06/1986
http://www.cuartopoder.es/casidesnuda/el-19j-yo-voy-por-una-razon/963
http://www.publico.es/dinero/367041/el-pacto-del-euro-se-olvida-de-las-necesidades-del-ciudadano
http://www.elpais.com/articulo/economia/Pacto/Euro/sale/adelante/recortes/sociales/salariales/elpepieco/20110312elpepieco_2/Tes

Mensaje de Anonymous a los líderes mundiales. – El 19J tomaremos las calles.

@jfcapristan