Skip to main content

Prestashop: Expected response code 354 but got code 530, with message 530 Relaying not allowed

Introducción

No hemos tocado nada, ¿o sí?

Bueno, es probable que simplemente hayamos cambiado la dirección de correo electrónico que usábamos antes para enviar correos, y poco más.

La realidad es que si ponemos la tienda en debug poco más que lo que nos indica el panel de control de Prestahsop, obtendremos, pero es suficiente.

Expected response code 354 but got code “530”, with message “530 Relaying not allowed ”

530 Relaying not allowed

Análisis

El mensaje es claro, el servidor de correo nos prohíbe el envío del correo por que la necesaria paridad entre el emisor o usuario SMTP usado “xxxxx@dominio.tld” no corresponde. Son distintos.

Por supuesto, indica también que el servidor tiene configurado un sistema que no permite el relay de correo, como debe ser en un servidor de correo que se precie de ser cuando menos respetuosos con las más elementales normas de seguridad.

Prestashop te ilumina sobre su capacidad de tener distintos contactos, pero olvida que su sistema no es válido cuando un servidor o cuando la tienda se configura con SMTP AUTENTIFICADO. Para ello, Prestashop debería estar preparado para configurar cada una de las cuentas emisoras, y actualmente no lo esta (versión 1.7.8.3) cosa fácil de hacer si se lo propusieran.

Prestahop :: Gestión de contactos

En la versión 1.7 he visto que es posible hacer una vuelta a la cuestión, pero no apta para no programadores, ni para “expertos informáticos”. En ella se detalla una solución patatera (debería estar en el tablero de mandos y no en un manual del Core)

Bueno, si ya hemos llegado hasta aquí, y hemos sumado dos y dos son cuatro, la solución está vista.

'{email}' => Configuration::get('PS_SHOP_EMAIL'), // sender email address

Así que viendo la variable, ya tenemos claro por dónde van las cosas.

Prestashop permite la creación de distinto contactos para el envío de correos, pero estos no son usados en esa variable, lo cual no lleva al su inutilidad, pues spolo funcionará cuando usemos /usr/bin/sendmail o correo no autenticado o en su defecto el servidor donde nos encontremos, no tiene activas las protecciones de relay.

Solución

La solución pasa por editar la tabla configuration de nuestra tienda y modificar la variable PS_SHOP_EMAIL para que coincida con la dirección que hemos configurado como dirección autenticada.

Como norma general, esta variable tendrá la dirección de correo electrónico que se usó al instalar la tienda, y que no es modificable (o al menos yo no lo vi claro en su documentación) desde el panel de control.

En la imagen de abajo, como hacerlo con Mysql Workbench (no soy amigo de phpMyAdmin)

Prestahop :: Modificar la tabla configuration de prestahsop

Aviso

Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad. El contenido el contenido se entrega, tal y como está, sin que ello implique ningún obligación ni responsabilidad por parte de Castris

Si necesitas soporte profesional puedes contratar con Castris soporte profesional.