Iniciar sesión
Iniciar sesión

Roundcube Webmail: Guía completa de configuración, funciones y personalización

Roundcube Webmail: Guía completa de configuración, funciones y personalización
Bhuban Mishra
Redactor técnico
Servicios de Webmail
16.10.2025
Reading time: 10 min

Roundcube es un cliente de correo electrónico basado en navegador. Ofrece un acceso sencillo para gestionar correos electrónicos a través de una interfaz web.

Roundcube puede instalarse de dos maneras: desplegándolo con Docker Compose o instalándolo directamente en un servidor Ubuntu para un enfoque más práctico.

La siguiente guía es un manual completo que cubre desde los requisitos previos y la instalación hasta la solución de problemas y la gestión de cuentas en Roundcube Webmail. Comencemos con el porqué.

Por qué usar Roundcube Webmail

Estas son algunas de las características clave que hacen destacar a Roundcube como cliente de correo electrónico:

  • Interfaz fácil de usar: La interfaz de Roundcube es moderna, sencilla y fácil de manejar.
  • Compatibilidad con IMAP y SMTP: Es compatible con ambos protocolos, garantizando la compatibilidad con la mayoría de los servidores de correo electrónico.
  • Múltiples cuentas de correo: Los usuarios pueden configurar varias cuentas en la misma interfaz y cambiar entre ellas fácilmente.
  • Basado en la web: Solo necesitas un navegador para acceder a tus correos. Esto lo convierte en una opción práctica para quienes cambian con frecuencia de dispositivo.
  • Extensible y personalizable: Roundcube es de código abierto. Con acceso a cientos de complementos, puedes personalizarlo a tu gusto.
  • Libreta de direcciones: La integración de la libreta de direcciones permite importar contactos existentes o crear nuevos manualmente.

Requisitos previos

Para continuar con este tutorial, necesitarás:

  • Un servidor Ubuntu: Esta guía utiliza Ubuntu 22.04, pero debería funcionar también en otras versiones modernas.
  • Docker y Docker Compose (para el Método 1): Si no están instalados, puedes hacerlo con los siguientes comandos:
sudo apt update
sudo apt install docker docker-compose

Método 1: Configurar Roundcube con Docker Compose (Recomendado)

Los contenedores Docker incluyen todas las dependencias necesarias para simplificar el proceso de configuración. A continuación, se muestra un archivo docker-compose.yml funcional para iniciar Roundcube Webmail con los complementos thunderbird_labels, show_folder_size y tls_icon.

version: '3'

services:
  roundcubemail:
    image: roundcube/roundcubemail:latest
    container_name: roundcubemail
    volumes:
      - ./www:/var/www/html
      - ./db/sqlite:/var/roundcube/db
    ports:
      - 9002:80
    environment:
      ROUNDCUBEMAIL_DB_TYPE: sqlite
      ROUNDCUBEMAIL_SKIN: elastic
      ROUNDCUBEMAIL_DEFAULT_HOST: "ssl://imap.gmail.com"
      ROUNDCUBEMAIL_SMTP_SERVER: "ssl://smtp.gmail.com"
      ROUNDCUBEMAIL_DEFAULT_PORT: 993
      ROUNDCUBEMAIL_SMTP_PORT: 465
      ROUNDCUBEMAIL_COMPOSER_PLUGINS: "weird-birds/thunderbird_labels,jfcherng-roundcube/show-folder-size,germancoding/tls_icon:^1.2"
      ROUNDCUBEMAIL_PLUGINS: thunderbird_labels, show_folder_size, tls_icon

A continuación, la explicación de cada variable de entorno:

  • ROUNDCUBEMAIL_SKIN: Define el tema de la interfaz. “Elastic” es el tema moderno y “Classic” es el más básico.
  • ROUNDCUBEMAIL_DEFAULT_HOST: El host IMAP predeterminado al que Roundcube se conectará.
  • ROUNDCUBEMAIL_DEFAULT_PORT: Puerto IMAP.
  • ROUNDCUBEMAIL_SMTP_SERVER: Servidor SMTP utilizado para enviar correos.
  • ROUNDCUBE_SMTP_PORT: Puerto SMTP.
  • ROUNDCUBEMAIL_COMPOSER_PLUGINS: Complementos adicionales que mejoran la experiencia de correo electrónico.
  • ROUNDCUBEMAIL_PLUGINS: Activa los complementos instalados mediante la variable anterior.

Tu proveedor de correo te proporcionará los detalles del servidor IMAP, puerto IMAP, servidor SMTP y ajustes SMTP. Debes ajustar estas variables según la información de tu proveedor y el tipo de cifrado (SSL/TLS) que utilice.

Para desplegar este archivo docker-compose, asegúrate primero de tener Docker y Docker Compose instalados:

docker --version && docker-compose --version 

Inicia el servicio Docker:

systemctl start docker

Despliega el archivo:

docker-compose up

Puede tardar entre 2 y 3 minutos en ejecutarse completamente en <tu-IP-del-servidor>:9092. Para comenzar a gestionar tus correos, introduce las credenciales proporcionadas por tu servidor de correo electrónico.

Si utilizas Gmail o Outlook, el nombre de usuario será tu dirección de correo junto con el sufijo @gmail o @outlook.

Image4

Tras iniciar sesión correctamente, verás una interfaz similar.

Image5

Método 2: Instalación directa en el servidor Ubuntu

Roundcube es una aplicación basada en la pila LAMP. Está escrita en PHP y admite varias bases de datos como MySQL, PostgreSQL y SQLite.

Paso 1: Instalar PHP y Apache

Antes de la instalación, actualiza la lista de paquetes y sus versiones:

sudo apt update
sudo apt install php apache2

También necesitas instalar y habilitar algunas extensiones de PHP:

sudo apt install php-mbstring php-xml php-imap php-sqlite3 php-json php-curl php-zip php-gd php-intl

Aquí tienes lo que hace cada extensión:

  • php-mbstring: Soporte para codificaciones de caracteres multibyte.
  • php-xml: Permite trabajar con documentos XML.
  • php-imap: Permite establecer conexiones con servidores IMAP.
  • php-sqlite3: Adaptador PHP para bases de datos SQLite.
  • php-json: Gestiona la codificación y decodificación JSON.
  • php-curl: Envía solicitudes HTTP mediante curl.
  • php-zip: Lee y escribe archivos ZIP.
  • php-gd: Proporciona capacidades de manipulación de imágenes.
  • php-intl: Soporte para idiomas, culturas y preferencias regionales.

Paso 2: Descargar el código fuente de Roundcube

Puedes descargar el código fuente desde https://roundcube.net/download/. Para facilitar la implementación, elige la Versión completa y estable.

99e88c0d 3854 46a4 Ba08 30fe4c273355

Descarga la aplicación en el directorio /var/www.

cd /var/www
sudo wget https://github.com/roundcube/roundcubemail/releases/download/1.6.10/roundcubemail-1.6.10-complete.tar.gz

Paso 3: Extraer y asignar permisos

Una manera sencilla de permitir que Apache lea y escriba en el directorio raíz del documento es cambiar la propiedad al usuario www-data:

sudo tar xvf roundcubemail-1.6.10-complete.tar.gz
sudo chown -R www-data:www-data roundcube-1.6.10
cd roundcube-1.6.10

Paso 4: Configurar el archivo de configuración

El archivo de configuración define qué complementos estarán en uso, qué interfaz y temas se aplicarán y qué servidores SMTP e IMAP se utilizarán.

Haz una copia del archivo de configuración predeterminado (asegúrate de estar en el directorio /var/www/roundcube-1.6.10):

sudo cp config/config.inc.php.sample config/config.inc.php

Abre el archivo de configuración y edita los ajustes más importantes, como la conexión a la base de datos, el servidor IMAP y el servidor SMTP:

sudo nano config.inc.php

Image1

Aquí tienes un ejemplo de configuración para el servidor de correo Outlook. Ajusta db_dsnw, imap_host y smtp_host según tu proveedor. Esta configuración utiliza una base de datos SQLite por simplicidad:

$config[‘db_dsnw’] = ‘sqlite:////var/www/roundcubemail-1.6.10/config/db.sqlite?mode=0640’;
$config[‘imap_host’] = ‘ssl://imap.office365.com:993’;
$config[‘smtp_host’] = ‘ssl://smtp-mail.outlook.com:587’;

Si deseas usar algunos complementos, debes descargarlos manualmente en el directorio de complementos o utilizar Composer para administrarlos. Luego actívalos en el archivo de configuración.

Image2

Paso 5: Configurar Apache

Crea un nuevo archivo roundcube_site.conf en /etc/apache2/sites-available con el siguiente contenido:

<VirtualHost *:80>
    DocumentRoot /var/www/roundcubemail-1.6.10
    # ServerName roundcube.CHANGEME_YOURDOMAIN.com  # Replace it

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    <Directory /var/www/roundcubemail-1.6.10>
        AllowOverride All
        Require all granted
    </Directory>

   # Block access to the database
   <FilesMatch "\.sqlite$">
    Require all denied
   </FilesMatch>

</VirtualHost>

Habilita el nuevo sitio de Apache:

sudo a2ensite roundcube_site.conf

Deshabilita el sitio predeterminado para evitar conflictos:

sudo a2dissite 000_default.conf

Recarga Apache para aplicar los cambios:

sudo systemctl reload apache2

Paso 6: Iniciar e instalar

Accede a la interfaz de Roundcube visitando la IP de tu servidor en el navegador. Se te pedirá tu nombre de usuario y contraseña, que puedes obtener de tu proveedor de correo electrónico.

Solución de problemas

Si la instalación no funciona correctamente, revisa el archivo errors.log.

Image7

También puedes consultar los registros de Apache para obtener más detalles:

tail -f /var/log/apache2/access.log
tail -f /var/log/apache2/error.log

Gestión de múltiples cuentas

Para agregar cuentas adicionales, ve a la pestaña Configuración > Identidades > Crear.

Image10

Importar contactos

Puedes importar todos tus contactos anteriores desde un archivo vCard o CSV. Para hacerlo, ve a la pestaña Contactos y haz clic en el icono Importar en la parte superior.

Si deseas importar CardDAV, agrega el complemento roundcube/carddav.

Image3

Destinatarios recopilados mostrará una lista de contactos previamente utilizados. Del mismo modo, Remitentes de confianza mostrará una lista de remitentes conocidos.

Complementos útiles de Roundcube

Vale la pena mencionar algunos de los complementos más populares de Roundcube:

  • Larry: El tema Larry.
  • Contextmenu: Habilita menús contextuales con clic derecho en varias áreas de la interfaz.
  • Gravatar: Muestra imágenes de Gravatar para los correos.
  • Identity_switch: Permite cambiar entre diferentes identidades de usuario en una misma sesión.
  • Advanced Search: Permite buscar rápidamente entre los correos.
  • Sauserprefs: Ayuda a combatir el spam en tu bandeja de entrada.
  • Calendar: Proporciona integración con calendario.
  • Roundcube_caldav: CalDAV permite gestionar eventos en sistemas de calendario como Google Calendar. Imprescindible para colaboración en equipo.
  • Identity SMTP: Permite establecer configuraciones SMTP diferentes por identidad.
  • Carddav: Proporciona una forma estándar de almacenar e importar contactos en formato vCard.
  • Customizr: Permite personalizar logotipos y estilos.
  • Fail2ban: Muestra el número de intentos fallidos.
  • Html5_notifier: Envía notificaciones de escritorio para la actividad del correo.
  • Thunderbird_labels: Asigna etiquetas a los correos.

Alternativas a Roundcube

Si no te convence la experiencia con Roundcube, existen otras alternativas que puedes considerar:

  • Horde Webmail: Ofrece una suite integrada de aplicaciones como correo, calendario y gestión de tareas. Ideal para la colaboración en equipo.
  • Zimbra Webmail: Disponible en versiones de código abierto y comercial. Reconocido por su seguridad empresarial, filtrado de spam y autenticación de dos factores.
  • Rainloop: Presenta un diseño moderno y elegante. No requiere base de datos para su configuración y es conocido por su simplicidad.

Roundcube Webmail: ¿Es la opción adecuada para ti?

Roundcube ofrece cientos de complementos para personalizar la experiencia. Con la implementación mediante Docker, puede desplegarse en cuestión de minutos.

Si te sientes cómodo administrando servidores y necesitas una solución de webmail ligera y de código abierto, Roundcube puede ser perfecto para ti. Sin embargo, si necesitas funciones avanzadas o prefieres evitar el autoalojamiento, considera otras opciones.

Servicios de Webmail
16.10.2025
Reading time: 10 min

Similares

Servicios de Webmail

Cómo enviar correos electrónicos en Linux desde la línea de comandos con Sendmail y Mailx

Para quienes administran servidores o trabajan en tareas de automatización, saber cómo enviar correos electrónicos desde la terminal de Linux es esencial. Esto permite un control total sobre las funciones de correo y elimina la necesidad de programas complejos. Es especialmente útil en escenarios donde la rapidez y la simplicidad son fundamentales. Herramientas comunes como sendmail y mailx se utilizan frecuentemente para enviar mensajes, verificar configuraciones SMTP, automatizar alertas e integrarse con scripts. Son herramientas simples pero muy efectivas, ideales para tareas como informar al equipo sobre actualizaciones del servidor, generar informes automatizados o probar configuraciones de correo. Esta guía está diseñada para usuarios que desean gestionar su correo directamente desde la terminal. Incluye la instalación de las herramientas esenciales y también tareas avanzadas, como el envío de adjuntos y la configuración de herramientas de correo. Por qué elegir herramientas de correo por línea de comandos Las dos herramientas más utilizadas —sendmail y mailx— son soluciones confiables para enviar correo en Linux. Sus principales ventajas son: Eficiencia Los clientes de correo tradicionales pueden ser lentos y consumir muchos recursos. Estas herramientas permiten enviar correos de forma rápida y ligera directamente desde la terminal. Automatización Se integran fácilmente con scripts shell, procesos cron y herramientas de monitoreo. Esto permite automatizar notificaciones y alertas para tareas repetitivas. Solución de problemas SMTP Configurar y depurar SMTP se vuelve más sencillo. Estos comandos permiten inspeccionar mensajes, registros y errores con mayor claridad. Flexibilidad Desde enviar alertas hasta generar informes automáticos, sendmail y mailx ofrecen una amplia versatilidad. Requisitos previos Antes de utilizar estas herramientas de correo en Linux, asegúrate de tener: Acceso a terminal: En algunos casos pueden requerirse permisos de root. Un servidor SMTP: Necesario para realizar pruebas de envío. Herramientas instaladas: Comprueba que sendmail y mailx estén instalados correctamente. Configuración de un servidor SMTP Los servidores SMTP son esenciales para enviar correos. Se dividen en dos tipos: Servidores SMTP externos Servidores SMTP locales Servidores SMTP externos Son servidores de correo proporcionados por un tercero. Permiten enviar correos a destinatarios fuera de la red local. Ofrecen: Entrega global Autenticación Cifrado Prevención de spam Ejemplos Gmail Dirección: smtp.gmail.com Puerto: 587 (TLS) o 465 (SSL) Outlook Dirección: smtp.office365.com Puerto: 587 Estos servidores requieren autenticación adecuada (usuario, contraseña o contraseñas específicas de aplicación) y cifrado (TLS/SSL). Nota: ya proporcionamos una guía para configurar servidores SMTP externos. El comando para enviar correos mediante Postfix es el mismo. Solo debes configurar los parámetros SMTP y sustituir la dirección por tu cuenta de Gmail u otro proveedor. Servidores SMTP locales Funcionan exclusivamente dentro de una red privada. Son ideales para: Enviar correos entre usuarios internos (por ejemplo: tom@office.local → jerry@office.local) Pruebas y desarrollo locales Comunicación interna No requieren acceso a Internet Cómo configurar un servidor SMTP local 1. Instalar Postfix sudo apt install postfix 2. Editar la configuración de Postfix sudo nano /etc/postfix/main.cf Ajusta o confirma estos parámetros: myhostname = mail.office.local mydomain = office.local myorigin = $mydomain inet_interfaces = loopback-only local_recipient_maps = proxy:unix:passwd.byname mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain Guarda los cambios y reinicia: sudo systemctl restart postfix 3. Crear usuarios de correo sudo adduser linux sudo adduser hostman Esto permite direcciones como linux@office.local. Resumen de sendmail sendmail es un conocido agente de transferencia de correo (MTA) en Linux. Funciona perfectamente con servidores SMTP y permite enviar correos desde sistemas locales o scripts. Instalación de sendmail Debian/Ubuntu sudo apt install sendmail CentOS/Red Hat sudo yum install sendmail Iniciar y habilitar el servicio sudo systemctl start sendmail sudo systemctl enable sendmail Probar la configuración echo "Testing sendmail setup" | sendmail -v your-email@example.com Verificar el correo recibido: mail Si mail no está instalado: sudo apt install mailutils O utilizar: cat /var/mail/user Editar archivo de configuración de sendmail sudo nano /etc/mail/sendmail.mc Ejemplo de ajuste del nombre de dominio: define(`confDOMAIN_NAME', `your_domain.com')dnl Regenerar el archivo de configuración: sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf Si aparece un error de permisos: sudo sh -c "m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf" Reiniciar el servicio: sudo systemctl restart sendmail Enviar correo con sendmail 1. Crear un archivo con el mensaje nano email.txt Contenido: Subject: Test Email from Hostman This is a test email sent using sendmail on Linux. 2. Enviar el correo sendmail recipient@example.com < email.txt 3. Verificar mail Enviar adjuntos con sendmail sendmail no admite adjuntos de forma nativa. Debes usar uuencode: sudo apt install sharutils Enviar archivo adjunto: ( echo "Subject: Email with attachment"; uuencode file.txt file.txt ) | sendmail recipient@example.com Verificación: mail Resumen de mailx mailx es una utilidad de terminal simple y eficaz para gestionar correo electrónico. Forma parte del paquete mailutils. Instalar mailx Debian/Ubuntu sudo apt install mailutils Red Hat sudo yum install mailx Enviar correo con mailx echo "This is the body of the email" | mailx -s "Test Email from Mailx" recipient@example.com Enviar adjuntos con mailx echo "Please find the attached document" | mailx -s "Email with Attachment" -A email.txt recipient@example.com Conclusión Enviar correos desde la línea de comandos en Linux es una forma eficaz de automatizar tareas de comunicación, solucionar problemas de servidores o probar configuraciones. Con herramientas como sendmail y mailx, puedes gestionar mensajes simples o configuraciones complejas con adjuntos. Esta guía ofrece instrucciones claras para comenzar sin dificultad y mejorar tu flujo de trabajo.
26 November 2025 · 6 min to read
Servicios de Webmail

Cómo configurar tu propio servidor de correo electrónico

Un servidor de correo es un sistema que gestiona el envío y la recepción correcta de correos electrónicos entre el remitente y el destinatario. Por ejemplo, cuando envías un correo desde Gmail, estás utilizando el servidor de correo de Google. Un cliente de correo, en cambio, es un programa que permite leer, enviar y almacenar correos. Ejemplos comunes son Microsoft Outlook, Thunderbird y otros. Choose your server now! Protocolos para recibir y enviar correos SMTP (Simple Mail Transfer Protocol) El servidor de salida utiliza el protocolo SMTP, siglas de Simple Mail Transfer Protocol. Sus funciones principales son: Verificar la configuración del remitente y permitir que el dispositivo envíe el mensaje. Transmitir el correo y recibir el código de respuesta. Los servidores SMTP usan los puertos 25 (sin cifrar) y 465 (cifrado). POP3 (Post Office Protocol) POP3 es un protocolo para recibir correos electrónicos. Permite que el cliente de correo se conecte al servidor y descargue los mensajes al dispositivo local, haciéndolos accesibles incluso sin conexión. Normalmente, los correos se eliminan del servidor tras la descarga (aunque se puede conservar una copia). POP3 usa los puertos 110 (sin cifrar) y 995 (con cifrado SSL/TLS). IMAP (Internet Message Access Protocol) Como POP3, IMAP sirve para recibir correos, pero permite gestionarlos directamente en el servidor sin descargarlos. Esto resulta útil si accedes al correo desde varios dispositivos. IMAP usa los puertos 143 (sin cifrar) y 993 (con cifrado SSL/TLS). ¿Por qué configurar tu propio servidor de correo? La respuesta más habitual es: “Para usar mi propio dominio en la dirección de correo.” Es cierto, pero no del todo. Puedes usar tu dominio sin configurar un servidor propio: muchos servicios permiten vincular tu dominio a sus servidores. El mayor beneficio es que ya disponen de un SMTP configurado, con reenvíos, filtros antispam y cifrado. Solo necesitas definir correctamente los registros NS (Name Server), lo cual es mucho más simple que montar un servidor completo. Sin embargo, los servicios de terceros presentan limitaciones: Menor control: no podrás gestionar todos los aspectos del correo. Límites de envío: cada proveedor impone un número máximo de correos por día o por hora. Si envías grandes volúmenes (por ejemplo, en entornos corporativos o newsletters), estos límites pueden ser problemáticos. Si decides crear tu propio servidor, deberás ocuparte de: Cuotas y límites de envío Copias de seguridad Evitar listas negras de spam Permisos de acceso si hay varios usuarios Un servidor de correo propio ofrece control total, pero exige mayor conocimiento técnico y responsabilidad. Configuración del servidor de correo En esta guía crearemos un servidor de correo en un servidor en la nube de Hostman, usando Ubuntu 20.04 como sistema operativo. El servidor soportará cifrado, protección antispam y dispondrá de un panel web de administración para gestionar las cuentas. Preparación del servidor Cambia al modo superusuario: sudo su Actualiza los paquetes: apt update && apt upgrade Verifica el nombre de host del servidor: hostname Si no coincide con el dominio deseado: hostnamectl set-hostname mail.hostname.com Configura la zona horaria e instala chrony para la sincronización de tiempo: apt install chrony timedatectl set-timezone Europe/Athens Lista de zonas horarias disponibles: timedatectl list-timezones Habilita chrony: systemctl enable chrony Abrir los puertos necesarios Usa iptables para abrir los puertos: 25, 465 — SMTP (envío) 110, 995 — POP3 (recepción) 143, 993 — IMAP (recepción) 80, 443 — HTTP/HTTPS (acceso web) iptables -I INPUT 1 -p tcp --match multiport --dports 25,110,143,465,587,993,995,80,443 -j ACCEPT Guarda las reglas para que sean persistentes: netfilter-persistent save Ahora, con el servidor correctamente configurado, podemos proceder a instalar el software necesario para crear un servidor de correo completamente funcional. Instalación y configuración de Postfix Postfix es un MTA (Mail Transfer Agent) de código abierto con arquitectura modular.Instálalo junto al módulo de integración con MySQL: apt install postfix postfix-mysql Durante la instalación: Selecciona Internet Site y define tu FQDN. Crea un usuario y grupo dedicados: addgroup -gid 1080 vmail A continuación, cree el usuario vmail y asigne el directorio de inicio a /home/mail: adduser --home /home/mail -gid 1080 -uid 1080 vmail Verifica los permisos: ll /home Configuración principal de Postfix Edita el archivo de configuración: nano /etc/postfix/main.cf Agrega o modifica: # Domains we accept mail for mydestination = localhost.$mydomain, localhost, localhost.localdomain # Postfix protocol inet_protocols = ipv4 # Path to the public certificate smtpd_tls_cert_file = /etc/ssl/mail/public.pem # Path to the private certificate smtpd_tls_key_file = /etc/ssl/mail/private.key Then, add additional options required for Postfix to function correctly: # Mail storage location virtual_mailbox_base = /home/mail # Path to alias maps virtual_alias_maps = proxy:mysql:/etc/postfix/mysql_virtual_alias_maps.cf # Domain storage format virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql_virtual_domains_maps.cf # Mailbox storage format virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf # Minimum virtual user ID virtual_minimum_uid = 1080 # UID for the main user handling mail virtual_uid_maps = static:1080 # GID for the group handling mail virtual_gid_maps = static:1080 # Register Dovecot as the mail delivery agent virtual_transport = dovecot # Enable secure authentication smtpd_sasl_auth_enable = yes smtpd_sasl_exceptions_networks = $mynetworks smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth # Enable TLS encryption for outgoing SMTP connections smtp_use_tls = yes # Enable TLS support for incoming connections smtpd_use_tls = yes smtpd_tls_auth_only = yes smtpd_helo_required = yes Archivos de mapeo MySQL Alias: nano /etc/postfix/mysql_virtual_alias_maps.cf Añade el siguiente contenido: user = postfix password = postfixPa$$w0rd hosts = localhost dbname = postfix query = SELECT goto FROM alias WHERE address='%s' AND active = '1' Dominios: nano /etc/postfix/mysql_virtual_domains_maps.cf Agregar: user = postfix password = postfixPa$$w0rd hosts = localhost dbname = postfix query = SELECT domain FROM domain WHERE domain='%u' Buzones: nano /etc/postfix/mysql_virtual_mailbox_maps.cf Agregar: user = postfix password = postfixPa$$w0rd hosts = localhost dbname = postfix query = SELECT CONCAT(domain,'/',maildir) FROM mailbox WHERE username='%s' AND active = '1' Modificación de master.cf: nano /etc/postfix/master.cf Agrega: submission inet n - n - - smtpd -o smtpd_tls_security_level=may -o smtpd_sasl_auth_enable=yes -o smtpd_sasl_type=dovecot -o smtpd_sasl_path=/var/spool/postfix/private/auth -o smtpd_sasl_security_options=noanonymous -o smtpd_sasl_local_domain=$myhostname smtps inet n - n - - smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject dovecot unix - n n - - pipe flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient} Generación de certificados de seguridad Crea el directorio: mkdir -p /etc/ssl/mail Genera los certificados: openssl req -new -x509 -days 1000 -nodes -out /etc/ssl/mail/public.pem -keyout /etc/ssl/mail/private.key -subj "/C=CY/ST=Limassol/L=Limassol/O=Global Security/OU=IT Department/CN=mail.devnullhost.com" Activa y reinicia Postfix: systemctl enable postfix && systemctl restart postfix Instalación y configuración de Dovecot Dovecot es un servidor IMAP y POP3 de código abierto. Instálalo junto al módulo MySQL: apt install dovecot-imapd dovecot-pop3d dovecot-mysql Edita: nano /etc/dovecot/conf.d/10-mail.conf En el archivo, especifique la estructura de directorios para almacenar el correo. Usaremos una jerarquía de dominio → usuario: mail_location = maildir:/home/mail/%d/%u/ Configuración de sockets: service auth { unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix } unix_listener auth-userdb { mode = 0600 user = vmail group = vmail } } service stats { unix_listener stats-reader { user = vmail group = vmail mode = 0660 } unix_listener stats-writer { user = vmail group = vmail mode = 0660 } } Edite el archivo de configuración de autenticación de Dovecot: nano /etc/dovecot/conf.d/10-auth.conf Reemplace la línea !include auth-system.conf.ext con !include auth-sql.conf.ext, lo que indica que se debe utilizar la autenticación basada en SQL. Cifrado SSL: nano /etc/dovecot/conf.d/10-ssl.conf ssl = required ssl_cert = </etc/ssl/mail/public.pem ssl_key = </etc/ssl/mail/private.key Creación automática de buzones: nano /etc/dovecot/conf.d/15-lda.conf Añade la siguiente línea: lda_mailbox_autocreate = yes Conexión a MySQL: nano /etc/dovecot/dovecot-sql.conf.ext Agregue las siguientes líneas para configurar MySQL: driver = mysql connect = host=localhost dbname=postfix user=postfix password=postfixPa$$w0rd default_pass_scheme = MD5-CRYPT password_query = SELECT password FROM mailbox WHERE username = '%u' user_query = SELECT maildir, 1080 AS uid, 1080 AS gid FROM mailbox WHERE username = '%u' user_query = SELECT CONCAT('/home/mail/',LCASE(`domain`),'/',LCASE(`maildir`)), 1080 AS uid, 1080 AS gid FROM mailbox WHERE username = '%u' Abra el archivo de configuración principal de Dovecot para configurar la interfaz del servidor: nano /etc/dovecot/dovecot.conf En este archivo, agregue la siguiente línea para escuchar en todas las interfaces de red disponibles: listen = * Habilita y reinicia Dovecot: systemctl enable dovecot && systemctl restart dovecot Instalación y configuración de PostfixAdmin Requisitos: servidor web, PHP y MySQL. Instala las extensiones PHP necesarias: apt install php-mysql php-mbstring php-imap Descarga PostfixAdmin: wget https://sourceforge.net/projects/postfixadmin/files/latest/download -O postfixadmin.tar.gz Cree un directorio para PostfixAdmin y extraiga el contenido del archivo: mkdir -p /var/www/html/postfixadmin && tar -C /var/www/html/postfixadmin -xvf postfixadmin.tar.gz --strip-components 1 Luego, crea un directorio para almacenar cachés de plantillas: mkdir /var/www/html/postfixadmin/templates_c Establezca los permisos correctos para que el servidor web acceda al directorio PostfixAdmin: chown -R www-data:www-data /var/www/html/postfixadmin Crea la base de datos: mysql -u root CREATE DATABASE postfix DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; GRANT ALL ON postfix.* TO 'postfix'@'localhost' IDENTIFIED BY 'postfixPa$$w0rd'; exit; Configura PostfixAdmin: nano /var/www/html/postfixadmin/config.local.php El contenido del archivo debe ser: <?php $CONF['configured'] = true; $CONF['default_language'] = 'en'; $CONF['database_password'] = 'postfixPa$$w0rd'; $CONF['emailcheck_resolve_domain']='NO'; ?> Abre /postfixadmin/public/setup.php, genera el hash de contraseña, insértalo en el archivo y accede a /postfixadmin/public/login.php. nano /var/www/html/postfixadmin/config.local.php Actualice la página /postfixadmin/public/setup.php e inicie sesión con la contraseña que usó para generar el hash. Si todo está configurado correctamente, debería ver una página de comprobación de la configuración. Al final de esta página, encontrará un formulario para crear una cuenta de administrador. Tras crearla correctamente, vaya a /postfixadmin/public/login.php e inicie sesión con las credenciales que acaba de configurar. Será redirigido al panel de administración de PostfixAdmin. Crear un buzón en PostfixAdmin Desde el panel web: Domain List → New Domain Luego Overview → Create Mailbox Parámetros de conexión en el cliente de correo: Server: El nombre de host de su servidor IMAP: Port 143, STARTTLS POP3: Port 110, STARTTLS SMTP: Port 25, STARTTLS Login and Password: Las credenciales que especificó al crear el buzón Choose your server now! Conclusión En esta guía vimos cómo crear un servidor de correo autogestionado y configurarlo completamente. Un servidor propio te da control total: puedes crear buzones ilimitados, alias y gestionar usuarios libremente. Todo esto es posible en un servidor en la nube de Hostman, siguiendo paso a paso esta guía para obtener un sistema de correo seguro y funcional.
27 October 2025 · 11 min to read

¿Tienes preguntas,
comentarios o inquietudes?

Nuestros profesionales están disponibles para asistirte en cualquier momento,
ya sea que necesites ayuda o no sepas por dónde empezar.
Hostman's Support