X

SMTP no funciona en ISPConfig, no envía correos [solucionado]

Cuando te montas un servidor web en una máquina, una de las cosas imprescindibles es el servidor de correo, al menos para los correos que tiene que enviar tu sistema. A pesar de que tengas un servicio de terceros te resultará muy interesante ya que cualquier cms, o página que puedas montar seguramente necesitará enviar correos. Si has instalado ISPConfig con postfix y no funcionan los correos de salida seguramente puedo echarte un cable.

Ya bien sea en una máquina virtual o un equipo, tanto en tu red local como en un servidor remoto, podemos hacer una instalación completa de un servidor web para desarrollo o producción y así mantener el mismo escenario en los dos casos. Si has utilizado alguno de los tutoriales de The Perfect Server para instalar un servidor web con MySQL Apache y Php en linux (en este caso CentOS), con el panel de control ISPConfig puede que te hayas encontrado este problema.

Si estás intentando enviar correos desde cualquier cms, o incluso desde la consola de comandos y ves que no llegan, o que cuando ejecutas el comando mail tarda una eternidad en terminar la ejecución y luego no recibes el correo, tranquilo, por que es un problema que seguramente nos vendrá dado por un despiste en la configuración y algún servicio que no se está ejecutando.

No se envían correos desde un server con ISPConfig

Nos vamos a centrar en conseguir enviar un correo con el comando mail desde la consola de comandos, puedes usar putty para entrar en el shell si lo haces de forma remota.

En primer lugar tenemos que estar seguros de que hemos instalado bien el servicio de correo, en este caso lo normal sería que hayamos instalado postfix, y por tanto ejecutaremos el siguiente comando para averiguar el estado:

postfix status

Esto nos debería devolver una respuesta similar a lo siguiente:

postfix/postfix-script: the Postfix mail system is running: PID: 580

El PID es variable así que si es diferente no te alarmes. Una vez que tenemos claro que el servicio de correo está funcionando podemos pasar al siguiente punto de la comprobación que seguramente será el que nos está dando el problema, aunque si postfix nos indica que no está funcionando podemos ejecutar:

service postfix restart

Una vez iniciado sí que podemos pasar a analizar el otro punto, el cual pasará por revisar el servicio del amavisd, ya que con las instalaciones del perfect server es una de las cosas que nos habremos instalado. El problema aquí es que si no tenemos muy clara la instalación y los requisitos de amavis, podemos encontrarnos con un error que evita que amavisd se inicie. Para ver si estamos teniendo dicho error ejecutaremos lo siguiente:

service amavisd restart

En este punto seguramente recibiremos este mensaje de error tanto al acabar el proceso del servicio como al iniciarlo:

Shutting down amavisd: The value of variable $myhostname is "Minombre", but should have been
a fully qualified domain name; perhaps uname(3) did not provide such.
You must explicitly assign a FQDN of this host to variable $myhostname
in amavisd.conf, or fix what uname(3) provides as a host's network name!
[FAILED]

Starting amavisd: The value of variable $myhostname is "Minombre", but should have been
a fully qualified domain name; perhaps uname(3) did not provide such.
You must explicitly assign a FQDN of this host to variable $myhostname
in amavisd.conf, or fix what uname(3) provides as a host's network name!
[FAILED]

Donde «Minombre» será el nombre de dominio que habremos puesto, el cual debería tener un formato diferente en FQDN (amavisd fully qualified domain name), es decir, como minombre.com por ejemplo. Así que vamos a proceder a cambiarlo. Nos iremos a editar la configuración de amavisd:

nano /etc/amavisd/amavisd.conf

Y ahí encontraremos varios sitios donde está escrito «Minombre», simplemente navegaremos por el archivo y lo cambiaremos por uno de los nombres de dominio que hayamos usado para ser el principal de este servidor, por ejemplo «minombre.com». Una vez realizados los cambios simplemente vamos a guardar y cerrar el archivo y a reiniciar el servicio:

service amavisd restart

Que nos devolverá un error y un ok como los siguientes:

Shutting down amavisd: The amavisd daemon is apparently not running, no PID file /var/run/amavisd/amavisd [FAILED]

Starting amavisd: [ OK ]

Si ahora ejecutamos un comando para mandar un correo de prueba desde consola de comandos ya nos debería funcionar y recibir dicho correo. Tenemos varias formas de enviar el correo desde consola, dejo aquí un par y elige la que prefieras:

mail -s "Prueba de correo" tu@correocom

echo "Contenido del correo de prueba." | mail -s "Prueba de correo" tu@correo.com

Cualquiera de los dos comandos deberá conseguir que nos llegue al poco un correo en la cuenta que pongamos como tu@correo.com, con lo que habremos conseguido solucionar el problema, que no era otro que amavisd al no estar ejecutado prevenía la salida de los emails. Por si acaso revisa tu carpeta de spam por si tu dominio no cae a la bandeja de entrada.

Si aun así estás teniendo problemas para enviar el correo con ispconfig y prestashop, joomla, wordpress u otros cms, te dejo este otro artículo para que puedas solucionarlo.

¿Usas ISPConfig? ¿Has tenido problemas con el servidor de correo?

VicHaunter:
    Categorías: Ayuda
Artículo relacionado
Los comentarios de Disqus están cargando....

Como todos, usamos cookies.