Servidor de correo · 14 min read · Sep 25, 2025
Cómo instalar un servidor de correo electrónico con ISPConfig en Debian 10

Este tutorial utiliza una configuración de servidor único como ejemplo. ISPConfig 3.1 está instalado en Debian 10.0, Buster (vea el tutorial de instalación del servidor perfecto de ISPConfig para la instalación real del servidor), el propósito de esta guía es mostrarle los pasos después de haber instalado el servidor inicial para configurar un sistema de correo funcional para su propio nombre de dominio. Actualicé ISPConfig a 3.1.15 durante la prueba de este tutorial.
Qué se necesita
Para utilizar este tutorial con éxito para un servidor de correo electrónico que funcione correctamente, necesita
- un host donde instale ISPConfig (y un sistema operativo)
- Recomiendo 2 GB de memoria con 4 GB de swap, debería ser suficiente para el servidor de correo.
- el host debe tener conexión a Internet con el puerto 25 abierto en ambas direcciones
- el host tiene una dirección IP fija
- el host debe tener un registro A para su dirección IP (o AAAA si usa IPv6)
- debe crear un registro MX para el servicio de nombres DNS para el host
- debe obtener el registro PTR del servicio de nombres DNS inverso que coincida con el FQDN del host
El requisito de memoria es para filtros de SPAM. Puede funcionar con 1 GB de memoria incluso con filtros de SPAM en funcionamiento si hay 4 GB de swap para evitar situaciones de falta de memoria.
Puertos abiertos
El servidor de correo debe tener el puerto 25 abierto tanto para entradas como para salidas. Asegúrese de que su host tenga ese puerto abierto antes de configurar el servidor de correo electrónico en ese host.
Hay formas de hacer que el correo electrónico funcione incluso cuando el puerto 25 no está abierto, pero implica enviar correos electrónicos a través de otro host que sí tenga el puerto 25 abierto. Puede tener más sentido instalar el servidor de correo en ese otro host y olvidar el primero por completo en lo que respecta al correo electrónico.
Entradas del servicio de nombres DNS
El servidor de correo necesita un FQDN, nombre de dominio completamente calificado (lea sobre ello en Wikipedia: FQDN). En este ejemplo, el nombre de dominio es taleman.ovh. Para mostrar que el nombre de host del servidor de correo no necesita ser mail, usamos posti como nombre de host. Así que el FQDN es posti.taleman.ovh.
Este host está instalado en un sistema de proveedores de servicios, ofrecen registrar dominios, servicio de nombres y servicio de nombres inverso. Usé esos.
La dirección IP es 178.33.154.66. Hice lo siguiente:
- registré el dominio taleman.ovh
- añadí esta dirección IP como registro A al servicio de nombres DNS con el nombre posti.taleman.ovh
- añadí un registro MX para el dominio taleman.ovh con el valor posti.taleman.ovh
- añadí un registro PTR del servicio de nombres inverso para esa dirección IP, apuntando a posti.taleman.ovh
El registro MX se crea para el dominio de correo electrónico. Así que lo creo para taleman.ovh, y apunta a posti.taleman.ovh, el servidor de correo que recibe correos electrónicos para ese dominio.
Servicio de nombres inverso
Lea sobre el servicio de nombres inverso en el tutorial de servicio de nombres. En este caso de ejemplo, el servicio de nombres inverso debe devolver posti.taleman.ovh.
Mi proveedor de servicios verificó la existencia del registro A antes de que fuera posible agregar el correspondiente PTR, tuve un pequeño problema antes de darme cuenta de que esa era la razón por la que la adición falló.
Prueba del servicio de nombres
Es mejor probar el servicio de nombres ahora, ya que enviar y recibir correos electrónicos no funcionará si el servicio de nombres no está configurado correctamente. Si su estación de trabajo es Windows en lugar de Linux o Unix, use el comando nslookup en lugar de host.
$ host taleman.ovh
taleman.ovh tiene dirección 188.165.143.5
taleman.ovh el correo es manejado por 10 posti.taleman.ovh.El resultado anterior muestra que el nombre de dominio tiene un número IP asociado (que en este caso es diferente del número IP del servidor de correo, pero eso no afecta a los correos electrónicos), y hay un registro MX que apunta a posti.taleman.ovh. La parte “el correo es manejado por” proviene del registro MX. Este registro MX es necesario si se va a recibir correo electrónico enviado a direcciones @taleman.ovh en posti.taleman.ovh.
Luego verifique que la entrada del servicio de nombres para el FQDN del servidor de correo (en este caso posti.taleman.fi) es un registro A y apunta al número IP correcto.
$ dig posti.taleman.ovh |grep "ANSWER SECTION" --after-context=3
;; SECCIÓN DE RESPUESTA:
posti.taleman.ovh. 3600 IN A 178.33.154.66
;; Tiempo de consulta: 56 msegFinalmente, verifique que el servicio de nombres inverso resuelve el número IP de vuelta al FQDN del servidor de correo.
$ host 178.33.154.66
66.154.33.178.in-addr.arpa puntero de nombre de dominio posti.taleman.ovh.En lugar de los comandos host y dig, puede usar páginas web que prueban el servicio de nombres. Conozco intodns y MXToolbox.
Si no puede hacer que las pruebas anteriores tengan éxito, puede intentar este tutorial de Configuración del Servicio de Nombres.
Instalando el SO
Uso Debian versión 10 Buster, así que sigo este tutorial:
https://www.howtoforge.com/tutorial/debian-10-buster-minimal-server/
Reemplace el número IP, el nombre de host y el nombre de dominio con sus valores.
Dado que escribo este tutorial en inglés, elegí inglés como idioma, pero Finlandia como país y United_Kingdom en_GB.UTF-8 como configuración regional.
root@posti:/tmp# cat /etc/debian_version 10.0root@posti:~# locale
LANG=en_GB.UTF-8
LANGUAGE=en_GB:en
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=
root@posti:~# cat /etc/timezone
Europa/HelsinkiVerifique que ha configurado el nombre de host correctamente. La configuración del sistema de correo que ISPConfig realiza no funcionará si el nombre de host es incorrecto.
root@posti:~# hostname posti
root@posti:~# hostname -f posti.taleman.ovh
root@posti:~#Instalando ISPConfig
Elijo instalar Apache como servidor web, así que para Debian Buster sigo esta Guía del Servidor Perfecto.
Instalé openssh-server en el host y configuré el inicio de sesión como root usando una clave ssh, así que puedo ssh al host como root directamente. Inicios de sesión sin contraseña con OpenSSH o Inicios de sesión seguros sin contraseña con SSH.
root@posti:/tmp# free -h
Prefiero editores de estilo Emacs a nano, así que instalo jed ahora para hacer que la edición de archivos sea más agradable.
Tenía /etc/host y /etc/hostname configurados correctamente después de la instalación del sistema operativo, así que solo verifiqué que eran correctos siguiendo la Guía del Servidor Perfecto. Preste atención al nombre de host y al FQDN, si los confunde, descubrirá al final que su servidor de correo no funciona. El daño se puede reparar, pero es más fácil hacerlo correctamente desde el principio.
root@posti:/tmp# hostname
posti
root@posti:/tmp# hostname -f
posti.taleman.ovhPara el resto, solo sigo la Guía del Servidor Perfecto. Tenga en cuenta que puede cortar y pegar la mayoría de los comandos de la guía a la línea de comandos.
No instalé Mailman, no planeo usar Mailman en este host. Asimismo, omití la instalación del Servidor DNS BIND, Webalizer, AWStats. Instalé Roundcube Webmail ya que este host se convierte en un servidor de correo.
En el capítulo 18 (Instalar la herramienta de administración de bases de datos PHPMyAdmin) utilicé el comando
/usr/bin/apg -m 32 -x 32para generar la clave secreta de blowfish de 32 caracteres.
Usando el sistema
Crear dominio de correo electrónico y buzones
Ahora inicio sesión como administrador en ISPConfig y
- Agregar nuevo cliente
- Agregar nuevo dominio (¡Dominio de correo electrónico!), y completar el formulario
- Agregar nuevo buzón
Cree las claves y el registro DKIM haciendo clic en los botones en el orden numerado en la imagen. Puede leer sobre DKIM en Wikipedia.

Figura 1: Crear dominio de correo
Luego espere dos minutos o hasta que la bola roja con el número en la parte superior del Panel de ISPConfig desaparezca.
Como primera prueba, inicie sesión en Roundcube Webmail con el buzón creado anteriormente y envíe un correo electrónico a esa misma dirección. ISPConfig envía un mensaje de bienvenida a cada buzón creado, por lo que ya debería haber un mensaje allí. Use el botón Redactar y escriba un breve mensaje de prueba.

Figura 2: Webmail de Roundcube

Figura 3: Enviando desde Roundcube
El mensaje debería aparecer pronto en el buzón.
Luego pruebe enviar un correo electrónico a otro buzón que tenga y pueda verificar si el correo llega allí. La siguiente prueba puede ser enviar desde algún otro lugar al buzón creado anteriormente.
Tenga en cuenta que, si habilitó la lista gris para el buzón, el correo electrónico enviado desde fuera de su servidor no llegará de inmediato al buzón. Sin embargo, debería ver en los registros de correo entradas de la entrega intentada de inmediato, por lo que verá que el correo puede llegar a su servidor. La entrada de la lista gris en el archivo /var/log/mail.log se ve algo así:
Aug 29 19:08:42 posti postfix/smtpd[16911]: NOQUEUE: reject:
RCPT from mta-out1.inet.fi[62.71.2.194]: 450 4.2.0
<[email protected]>: Dirección del destinatario rechazada: Greylisted,
vea http://postgrey.schweikert.ch/help/taleman.ovh.html;
from=<**@*.*> to=<[email protected]> proto=ESMTP
helo=<****..*>Puede monitorear el registro de correo en una ventana de terminal así:
tail -f /var/log/mail.logO usando estos comandos, si solo le interesan las entradas de la lista gris:
tail -f /var/log/mail.log | grep Greylistedo
grep Greylisted /var/log/mail.logLa lista gris solo retrasa el primer correo electrónico del mismo remitente al mismo destinatario. Una vez que se recibe ese primer correo electrónico, los siguientes correos electrónicos llegan sin un retraso adicional.
En mi caso, todo funcionó a la primera. Esto demuestra que la Guía del Servidor Perfecto de ISPConfig realmente funciona.
Conectar cliente de correo electrónico
Usando Thunderbird como ejemplo de cliente de correo. Otras aplicaciones de clientes de correo funcionan de manera similar.
ISPConfig hace que el nombre de la cuenta sea la dirección de correo electrónico.

Figura 4: Configuración de cuenta de Thunderbird

Figura 5: Configuración del servidor de Thunderbird
La seguridad de conexión STARTTLS significa que la conexión comienza sin protección y luego cambia a encriptada si ambas partes admiten la encriptación. SSL/TSL significa que la sesión está encriptada desde el principio. SSL/TSL probablemente sea un poco más seguro, así que pruebe si su cliente funciona con eso.

Figura 6: Configuración del servidor saliente de Thunderbird
Usando SPF
Lea sobre el Marco de Políticas de Remitente en Wikipedia. Originalmente, SPF significaba Remitente Permitido, lo cual es agradable recordar lo que significa. Después de leer sobre SPF, puede crear el registro usted mismo, verifique si su proveedor de servicio de nombres puede generar el registro SPF o utilizando motores de búsqueda de Internet con
SPF wizardencuentre un sitio web que cree el registro de servicio de nombres SPF para usted. Luego corte y pegue el registro en su servicio de nombres. Agregue un registro TXT, o tal vez en algún sistema DNS agregue un registro SPF.
Verifique cómo se ve el SPF en el servicio de nombres, así:
$ dig taleman.ovh -t TXT | grep spf
taleman.ovh. 3000 IN TXT "v=spf1 mx ~all"O así:
$ dig +short taleman.ovh TXT
"v=spf1 mx ~all"
"1|www.taleman.ovh"Usando DKIM
Lea sobre el Correo Identificado por Claves de Dominio en Wikipedia. ISPConfig creó las claves DKIM para usted al crear el dominio de correo electrónico (si recordó marcar la casilla DKIM). Corte y pegue el registro DNS que es la clave pública en su servicio de nombres como registro TXT. Su proveedor de servicio de nombres puede ofrecer una herramienta para facilitar la creación del registro DKIM. Mantenga la clave privada DKIM en secreto.
Verifique cómo se ve el DKIM en el servicio de nombres, así:
$ host -t txt default._domainkey.taleman.ovh.
default._domainkey.taleman.ovh texto descriptivo "v=DKIM1;h=sha256;s=*;p=MIIB(I cut long string shorter)0rp" "sTGLXyK(cut shorter)B;t=s;"Si fue ISPConfig quien creó las claves DKIM, la clave privada se copia en el lugar correcto en la configuración de amavis.
Hay un sitio web mail-tester.com que es útil para verificar que SPF y DKIM estén funcionando. Vaya a ese sitio web, le da una dirección de correo electrónico y usted envía un correo electrónico allí desde su servidor. Luego espere un minuto y verifique el sitio web nuevamente.
Creando certificados
ISPConfig puede crear certificados autofirmados, estos se crean durante la instalación de ISPConfig a menos que eligiera no crearlos. Incluso si creó esos certificados autofirmados, es una buena idea crear certificados adecuados que los navegadores, programas de correo electrónico y otros servidores de correo confíen.
Hay un excelente tutorial: Asegurando ISPConfig con un certificado SSL gratuito de Let’s Encrypt
Siguiendo ese tutorial, noté que el sitio web creado mostraba la página web predeterminada de Debian, hasta que creé el certificado LE para el sitio web. También el Panel de ISPConfig estaba inestable, creo que porque tenía el certificado autofirmado y ahora este nuevo certificado o ningún certificado en absoluto. Actualizar las páginas en el navegador solucionó esto.
Cuando los certificados están configurados, ingrese la dirección https del servidor en el navegador. Hacer clic en el ícono a la izquierda de la barra de direcciones del navegador con el otro botón del mouse muestra información sobre el certificado.
Vaya a la pestaña del sistema del Panel de ISPConfig, Configuración principal de la interfaz y pestaña de correo. Allí configure
Usar conexión encriptada SSL/TLS para SMTPen SSL.
Pruebas adicionales del certificado son posibles con herramientas en sitios web, use motores de búsqueda de Internet con
ssl testingcomo palabras de búsqueda. Esas herramientas generalmente prueban el sitio web, al probar los certificados que tiene el servidor de correo, busque con
ssl testing mail serverPlugins de Roundcube de ISPConfig
Estos plugins son útiles para los usuarios de webmail. Permiten cambiar la contraseña de correo electrónico en Roundcube, por ejemplo. Algunas otras configuraciones también se pueden modificar en Roundcube. Todas se pueden modificar en el panel de ISPConfig, pero algunos usuarios de correo electrónico pueden no querer usar el panel.
Instalé los plugins de Roundcube de ISPConfig usando el tutorial ISPConfig 3 Roundcube Plugin en Debian 9. El tutorial funcionó exactamente en Debian 10 Buster, excepto que ahora ispconfig3_account/config/config.inc.php tiene una línea más:
$config['soap_validate_cert'] = true;Esto puede permanecer en el valor true, ya que el certificado está correctamente configurado y probado en el capítulo anterior de este tutorial. Si, sin embargo, el host no tiene un certificado válido, cambie esta configuración a false.
Tuve un problema. Algunos elementos en la sección de cuentas aparecieron con el mensaje de error
Ocurrió un error.
Error de Soap: El inicio de sesión no está permitido desde Lo solucioné marcando el acceso remoto y escribiendo posti.taleman.ovh para ese usuario rcmail-remote que creé siguiendo el tutorial. Parece que el tutorial está equivocado sobre no necesitar marcar “Acceso Remoto”. Ahora me parece que es necesario tanto para configuraciones de servidor único como para configuraciones multiserver de ISPConfig con un servidor de correo separado.
Uso adicional
Ahora puede crear otro dominio de correo electrónico. Recuerde crear un registro MX para ese dominio y apuntarlo a su servidor de correo electrónico. Puede usar el mismo servidor de correo para todos los dominios de correo electrónico que cree. Así es como se suele hacer, ya que sería un gran desperdicio crear un servidor de correo separado para cada dominio de correo electrónico.
Solución de problemas
Siguiendo este tutorial, mi servidor de correo electrónico recién configurado funciona. Si el suyo no funciona, verifique que ha seguido este tutorial y no ha omitido algunos pasos.
Leer el foro ha mostrado que las formas comunes de tener un servidor de correo electrónico que no funciona son configuraciones incorrectas para el nombre de host y hostname -f y/o errores en el archivo /etc/postfix/main.cf.
Si sospecha problemas con el servicio de nombres DNS, verifique esos con el tutorial de DNS con ISPConfig. Hay herramientas en sitios web que verifican DNS, como intodns.com, dnschecker.com, mxtoolbox.com.
Si no se reciben o envían correos electrónicos, es postfix quien realiza esas funciones y se registran en /var/log/mail.log. Así que haga
tail -f /var/log/mail.log | grep postfix para ver qué sucede cuando se recibe o envía correo.Si tiene problemas para conectarse con el cliente de correo electrónico (Thunderbird, por ejemplo), use esto para ver qué sucede:
tail -f /var/log/mail.log | grep dovecotEn caso de que un correo electrónico en particular sea problemático, puede encontrar las entradas del registro de correo utilizando el ID de ese correo electrónico. Por ejemplo:
Sep 23 14:19:34 posti postfix/smtps/smtpd[10260]: A9F2880C76:
client=dsl-tkubng21-58c1ce-191.dhcp.inet.fi[99.99.99.99],
sasl_method=PLAIN, [email protected]El ID para ese correo electrónico es A9F2880C76. Puede encontrar las entradas del registro para ese correo electrónico usando
# grep A9F2880C76 /var/log/mail.logEl comando mailq muestra los correos electrónicos que están en la cola diferida de postfix. Es decir, esos correos electrónicos que aún no se han entregado. Es normal tener algunas entradas recientes allí, los correos electrónicos no siempre se pueden entregar de inmediato. Puede ver el contenido de esos correos electrónicos utilizando el ID de la cola, así:
# postcat /var/spool/postfix/deferred/A/A9F2880C76Howtoforge tiene foros de ISPConfig, pida consejo allí.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.