GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo configurar fácilmente un servidor de correo con todas las funciones en CentOS 8 con iRedMail

Configurar su propio servidor de correo electrónico en Linux desde cero es una molestia si no es un usuario avanzado. Este tutorial le mostrará cómo usar iRedMail para configurar rápidamente un servidor de correo con todas las funciones en CentOS 8, ahorrándole mucho tiempo y dolores de cabeza.

¿Qué es iRedMail?

iRedMail es un script de shell que instala y configura automáticamente todos los componentes necesarios del servidor de correo en su servidor Linux/BSD, eliminando así la instalación y configuración manual. Con iRedMail, puede crear fácilmente buzones de correo ilimitados y dominios de correo ilimitados en un panel de administración basado en la web. Los buzones se pueden almacenar en MariaDB/MySQL, base de datos PostgreSQL u OpenLDAP. La siguiente es una lista de software de código abierto que iRedMail instalará y configurará automáticamente.

  • Servidor SMTP Postfix
  • Servidor IMAP Dovecot
  • Nginx servidor web para servir el panel de administración y el correo web
  • OpenLDAP, MySQL/MariaDB o PostgreSQL para almacenar información del usuario
  • Amavised-new para la firma y verificación de DKIM
  • SpamAssassin para antispam
  • ClamAV para antivirus
  • Correo web de Roundcube
  • Fail2ban para proteger SSH
  • administrador de listas de correo mlmmj
  • Supervisión del servidor Netdata
  • Servidor de políticas iRedAPD Postfix para listas grises

Paso 1:elija el proveedor de alojamiento adecuado y compre un nombre de dominio

Para configurar un servidor de correo electrónico con todas las funciones con iRedMail, necesita un servidor con al menos 3 GB de RAM, porque después de la instalación, su servidor utilizará más de 2 GB de RAM.

Se recomienda encarecidamente que instale iRedMail en una instalación limpia de CentOS 8 servidor.

Este tutorial se realiza en un Kamatera VPS (servidor privado virtual) de $9/mes con 1 CPU y 3 GB de RAM. Ofrecen una prueba gratuita de 30 días.

Kamatera es una muy buena opción para ejecutar un servidor de correo porque

  • No bloquean el puerto 25 , para que pueda enviar correos electrónicos ilimitados (correo electrónico transaccional y boletines) sin gastar dinero en el servicio de retransmisión SMTP. Kamatera no tiene límites de SMTP. Puede enviar un millón de correos electrónicos por día.
  • La dirección IP no está en ninguna lista negra de correo electrónico . (Al menos esto es cierto en mi caso. Elegí el centro de datos de Dallas). Definitivamente no desea aparecer en la temida lista negra de direcciones IP de Microsoft Outlook o en la lista negra de spam ratas. Algunas listas negras bloquean un rango completo de IP y no tiene forma de eliminar su dirección IP de este tipo de lista negra.
  • Puede editar el registro PTR para mejorar la capacidad de entrega del correo electrónico.
  • Permiten enviar newsletters a sus suscriptores de correo electrónico con no límites horarios o límites diarios, cualquiera que sea.
  • Puede solicitar varias direcciones IP para un solo servidor. Esto es muy útil para las personas que necesitan enviar un gran volumen de correos electrónicos. Puede distribuir el tráfico de correo electrónico en varias direcciones IP para lograr una mejor capacidad de entrega de correo electrónico.

Otros proveedores de VPS como DigitalOcean bloquean el puerto 25. DigitalOcean no desbloquearía el puerto 25, por lo que deberá configurar el relé SMTP para evitar el bloqueo, lo que puede costarle dinero adicional. Si usa Vultr VPS, el puerto 25 está bloqueado de forma predeterminada. Pueden desbloquearlo si abre un ticket de soporte, pero pueden volver a bloquearlo en cualquier momento si deciden que su actividad de envío de correo electrónico no está permitida. Vultr en realidad puede volver a bloquearlo si usa sus servidores para enviar boletines.

Vaya al sitio web de Kamatera para crear una cuenta, luego cree su servidor en el tablero de su cuenta.

Recomiendo seguir el tutorial vinculado a continuación para configurar correctamente su servidor Linux VPS en Kamatera.

  • Cómo crear un servidor VPS Linux en Kamatera

Una vez que haya creado un servidor, Kamatera le enviará un correo electrónico con los detalles de inicio de sesión SSH del servidor. Para iniciar sesión en su servidor, utiliza un cliente SSH. Si está utilizando Linux o macOS en su computadora, simplemente abra una ventana de terminal y ejecute el siguiente comando para iniciar sesión en su servidor. Reemplace 12.34.56.78 con la dirección IP de su servidor.

ssh [email protected]

Se le pedirá que ingrese la contraseña.

También necesita un nombre de dominio. Registré mi nombre de dominio de NameCheap porque el precio es bajo y ofrecen protección de privacidad whois gratis de por vida.

Paso 2:crear un registro DNS MX

El registro MX especifica qué host o hosts manejan correos electrónicos para un nombre de dominio en particular. Por ejemplo, el host que maneja correos electrónicos para linuxbabe.com es mail.linuxbabe.com . Si alguien con una cuenta de Gmail envía un correo electrónico a [email protected] , el servidor de Gmail consultará el registro MX de linuxbabe.com. Cuando descubre que mail.linuxbabe.com es responsable de aceptar el correo electrónico, luego consulta el registro A de mail.linuxbabe.com para obtener la dirección IP, por lo que se puede enviar el correo electrónico.

En su administrador de DNS, cree un registro MX para su nombre de dominio. Introduzca @ en el campo Nombre para representar el nombre de dominio principal, luego ingrese mail.your-domain.com en el campo Valor.

Nota :El nombre de host para el registro MX no puede ser un alias de otro nombre. Además, se recomienda encarecidamente que utilice nombres de host, en lugar de direcciones IP simples para el registro MX.

Su administrador de DNS puede requerir que ingrese un valor de preferencia (también conocido como valor de prioridad). Puede ser cualquier número entre 0 y 65.356. Un número pequeño tiene mayor prioridad que un número grande. Se recomienda que establezca el valor en 0, por lo que este servidor de correo tendrá la prioridad más alta para recibir correos electrónicos. Después de crear un registro MX, también debe crear un registro A para mail.your-domain.com , para que pueda resolverse en una dirección IP. Si su servidor usa una dirección IPv6, asegúrese de agregar un registro AAAA.

Sugerencia:si usa el servicio DNS de Cloudflare, no debe habilitar la función CDN al crear un registro A para mail.your-domain.com . Cloudflare no es compatible con el proxy SMTP.

Paso 3:Configuración del nombre de host

Inicie sesión en su servidor a través de SSH, luego ejecute el siguiente comando para actualizar los paquetes de software existentes.

sudo dnf update -y

Recomiendo encarecidamente crear un sudo usuario para administrar su servidor en lugar de usar el root predeterminado usuario. Ejecute el siguiente comando para crear un usuario. Reemplazar username con su nombre de usuario preferido.

sudo adduser username

Establezca una contraseña para este usuario.

sudo passwd username

Agrega este usuario a la wheel grupo para usar sudo .

sudo gpasswd -a username wheel

Cambiar al nuevo usuario.

su - username

A continuación, establezca un nombre de dominio completo (FQDN) para su servidor con el siguiente comando.

sudo hostnamectl set-hostname mail.your-domain.com

También necesitamos actualizar /etc/hosts archivo con un editor de texto de línea de comandos como Nano.

sudo nano /etc/hosts

Edítelo como a continuación. (Utilice las teclas de flecha para mover el cursor en el archivo).

127.0.0.1       mail.your-domain.com localhost

Guarde y cierre el archivo. (Para guardar un archivo en el editor de texto Nano, presione Ctrl+O , luego presione Enter para confirmar. Para cerrar el archivo, presione Ctrl+X .)

Para ver los cambios, vuelva a iniciar sesión y ejecute el siguiente comando para ver su nombre de host.

hostname -f

Paso 4:Configuración del servidor de correo en CentOS 8 con iRedMail

Ejecute los siguientes comandos para descargar la última versión del instalador de scripts de iRedMail desde su repositorio de Github.

sudo dnf install wget tar -y

wget https://github.com/iredmail/iRedMail/archive/1.5.0.tar.gz

Extraiga el archivo archivado.

tar xvf 1.5.0.tar.gz

Luego cd en el directorio recién creado.

cd iRedMail-1.5.0/

Agregar permiso ejecutable a iRedMail.sh guión.

chmod +x iRedMail.sh

A continuación, ejecute el script Bash con el privilegio sudo.

sudo bash iRedMail.sh

Aparecerá el asistente de configuración del servidor de correo. Use la tecla Tab para seleccionar y presione Entrar.

La siguiente pantalla le pedirá que seleccione la ruta de almacenamiento de correo. Puede usar el predeterminado /var/vmail , así que simplemente presione Entrar.

A continuación, elija si desea ejecutar un servidor web. Se recomienda encarecidamente que elija ejecutar un servidor web porque necesita el panel de administración basado en la web para agregar cuentas de correo electrónico. También te permite acceder al webmail de Roundcube. De forma predeterminada, el servidor web Nginx está seleccionado, por lo que simplemente puede presionar Entrar. (Un asterisco indica que el elemento está seleccionado).

Luego seleccione el backend de almacenamiento para cuentas de correo electrónico. Elija uno con el que esté familiarizado. Este tutorial eligió MariaDB. Presione la tecla de flecha hacia arriba y hacia abajo y presione la barra espaciadora para seleccionar.

Si seleccionó MariaDB o MySQL, deberá configurar la contraseña raíz de MySQL.

A continuación, ingrese su primer dominio de correo. Puede agregar dominios de correo adicionales más adelante en el panel de administración basado en la web. Este tutorial asume que desea una cuenta de correo electrónico como [email protected] . En ese caso, debe ingresar su-dominio.com aquí, sin subdominio. No presione la barra espaciadora después de su nombre de dominio. Creo que iRedMail copiará el carácter de espacio junto con su nombre de dominio, lo que puede resultar en una falla de instalación.

A continuación, establezca una contraseña para el administrador del dominio de correo.

Elija componentes opcionales. De forma predeterminada, los 4 elementos están seleccionados. Así que simplemente presione Entrar.

Ahora puede revisar sus configuraciones. Escriba Y para comenzar la instalación de todos los componentes del servidor de correo.

Asegúrese de no ver ningún error en el proceso de instalación. Si hay errores, es mejor reinstalar el sistema operativo y luego reinstalar iRedMail en su servidor, o su servidor de correo podría no funcionar correctamente.

Al final de la instalación, elija y para usar las reglas de firewall proporcionadas por iRedMail y reiniciar el firewall.

Ahora la instalación de iRedMail está completa. Se le notificará la URL del correo web, el panel de administración web y las credenciales de inicio de sesión. Los iRedMail.tips El archivo contiene información importante sobre su servidor iRedMail.

Reinicie su servidor CentOS 8.

sudo shutdown -r now

Una vez que su servidor vuelva a estar en línea, puede visitar el panel de administración web.

https://mail.your-domain.com/iredadmin/

Nota que en la URL anterior, el subdirectorio para acceder al panel de administración es /iredadmin/ , no /iredmail/ . Y debido a que utiliza un certificado TLS autofirmado, debe agregar una excepción de seguridad en su navegador web.

Paso 5:Instalación del certificado TLS de Let's Encrypt

Dado que el servidor de correo utiliza un certificado TLS autofirmado, tanto los usuarios del cliente de correo de escritorio como los usuarios del cliente de correo web verán una advertencia. Para solucionar esto, podemos obtener e instalar un certificado TLS gratuito de Let's Encrypt.

Obtención del Certificado

Primero, vuelva a iniciar sesión en su servidor a través de SSH y ejecute los siguientes comandos para instalar el cliente Let's Encrypt (certbot) en CentOS 8.

sudo dnf install certbot python3-certbot-nginx -y

iRedMail ya ha configurado los ajustes de TLS en el host virtual predeterminado de Nginx, por lo que aquí recomiendo usar el complemento webroot, en lugar del complemento nginx, para obtener el certificado. Ejecute el siguiente comando. Reemplácelo con el texto rojo con su propia dirección de correo electrónico y nombre de host.

sudo certbot certonly --webroot --agree-tos --email [email protected] -d mail.your-domain.com -w /var/www/html/

Cuando te pregunte si quieres recibir comunicaciones de EFF, puedes elegir No.

Si todo salió bien, verá el siguiente texto que indica que ha obtenido con éxito un certificado TLS. Su certificado y cadena se guardaron en /etc/letsencrypt/live/mail.your-domain.com/ directorio.

Error en la obtención del certificado TLS

Si certbot no pudo obtener el certificado TLS, tal vez se deba a que sus registros DNS no se propagan a Internet. Según el registrador de dominio que utilice, su registro DNS puede propagarse instantáneamente o puede tardar hasta 24 horas en propagarse. Puede ir a https://dnsmap.io, ingrese el nombre de host de su servidor de correo (mail.your-domain.com ) para comprobar la propagación de DNS.

Instalación del Certificado en Nginx

Después de obtener un certificado TLS, configuremos el servidor web Nginx para usarlo. Edite el archivo de plantilla SSL.

sudo nano /etc/nginx/templates/ssl.tmpl

Encuentra las siguientes 2 líneas.

ssl_certificate /etc/pki/tls/certs/iRedMail.crt;
ssl_certificate_key /etc/pki/tls/private/iRedMail.key;

Reemplázalos con:

ssl_certificate /etc/letsencrypt/live/mail.your-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mail.your-domain.com/privkey.pem;

Guarde y cierre el archivo. Luego pruebe la configuración de nginx y vuelva a cargar.

sudo nginx -t

sudo systemctl reload nginx

Visite el panel de administración de iRedMail nuevamente, su navegador web ya no le avisará porque Nginx ahora está usando un certificado TLS válido.

Instalación del certificado TLS en Postfix y Dovecot

También debemos configurar el servidor Postfix SMTP y el servidor Dovecot IMAP para usar el certificado emitido por Let's Encrypt para que el cliente de correo de escritorio no muestre una advertencia de seguridad. Edite el archivo de configuración principal de Postfix.

sudo nano /etc/postfix/main.cf

Encuentra las siguientes 3 líneas. (línea 95, 96, 97).

smtpd_tls_key_file = /etc/pki/tls/private/iRedMail.key
smtpd_tls_cert_file = /etc/pki/tls/certs/iRedMail.crt
smtpd_tls_CAfile = /etc/pki/tls/certs/iRedMail.crt

Reemplázalos con:

smtpd_tls_key_file = /etc/letsencrypt/live/mail.your-domain.com/privkey.pem
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.your-domain.com/cert.pem
smtpd_tls_CAfile = /etc/letsencrypt/live/mail.your-domain.com/chain.pem

Guarde y cierre el archivo. Luego recarga Postfix.

sudo systemctl reload postfix

A continuación, edite el archivo de configuración principal de Dovecot.

sudo nano /etc/dovecot/dovecot.conf

Fine las siguientes 2 líneas. (línea 47, 48)

ssl_cert = </etc/pki/tls/certs/iRedMail.crt
ssl_key = </etc/pki/tls/private/iRedMail.key

Reemplázalos con:

ssl_cert = </etc/letsencrypt/live/mail.your-domain.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.your-domain.com/privkey.pem

Guarde y cierre el archivo. Luego recarga Dovecot.

sudo systemctl reload dovecot

A partir de ahora, los usuarios de correo de escritorio no verán advertencias de seguridad.

Paso 6:Envío de correo electrónico de prueba

Inicie sesión en el panel de iredadmin con la cuenta de correo del administrador de correos ([email protected]). En el Add pestaña, puede agregar dominios o direcciones de correo electrónico adicionales.

Si ve el error "ningún dominio bajo control", consulte este artículo.

Después de crear un usuario, puede visitar la dirección de correo web de Roundcube e iniciar sesión con la nueva cuenta de usuario de correo.

https://mail.your-domain.com/mail/

Ahora puede probar el envío y la recepción de correo electrónico. Tenga en cuenta que es posible que deba esperar unos minutos para recibir correos electrónicos porque iRedMail habilita de forma predeterminada la creación de listas grises, que es una forma de decirle a otros servidores SMTP de envío que vuelvan a intentarlo en unos minutos. La siguiente línea en el archivo de registro de correo /var/log/maillog indica que la lista gris está habilitada.

Recipient address rejected: Intentional policy rejection, please try again later;

Comprobar si ClamAV se está ejecutando

ClamAV se utiliza para escanear virus en mensajes de correo electrónico. ClamAV puede usar una buena cantidad de RAM. Si no hay suficiente RAM en su servidor, ClamAV no funcionará correctamente, lo que impedirá que su servidor de correo envíe correos electrónicos. Puede comprobar su estado con:

systemctl status [email protected]

Si su ClamAV siempre se activa como se muestra a continuación, tiene un problema.

Verifique los registros de ClamAV.

sudo journalctl -eu [email protected]

Si ve la siguiente línea en los registros, eso significa que su servidor no tiene suficiente RAM para ejecutar ClamAV.

daemonize() failed: Cannot allocate memory

Puede agregar un archivo de intercambio a su servidor para aumentar la RAM total en su servidor. (Tenga en cuenta que el uso de espacio de intercambio en el servidor degradará el rendimiento del servidor. Si desea un mejor rendimiento, debe actualizar la RAM física en lugar de usar espacio de intercambio).

Para agregar espacio de intercambio en el servidor, primero, use el fallocate Comando para crear un archivo. Por ejemplo, cree un archivo llamado swapfile con una capacidad de 1 G en el sistema de archivos raíz:

sudo fallocate -l 1G /swapfile

Luego, asegúrese de que solo la raíz pueda leer y escribir en él.

sudo chmod 600 /swapfile

Formatéelo para intercambiar:

sudo mkswap /swapfile

Salida:

Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)
no label, UUID=0aab5886-4dfb-40d4-920d-fb1115c67433

Habilitar el archivo de intercambio

sudo swapon /swapfile

Espere unos segundos, su ClamAV debería estar activo (en ejecución) y no evitará que su servidor de correo envíe correos electrónicos.

systemctl status [email protected]

Para montar el espacio de intercambio en el momento del arranque del sistema, edite el /etc/fstab archivo.

sudo nano /etc/fstab

Agregue la siguiente línea al final de este archivo.

/swapfile    swap    swap     defaults    0   0

Guarde y cierre el archivo. Luego recarga systemd.

sudo systemctl daemon-reload

Paso 7:Comprobar si el puerto 25 (saliente) está bloqueado

Su ISP o proveedor de alojamiento no bloqueará la conexión entrante al puerto 25 de su servidor, lo que significa que puede recibir correos electrónicos de otros servidores de correo. Sin embargo, muchos ISP/proveedores de alojamiento bloquean la conexión saliente al puerto 25 de otros servidores de correo, lo que significa que no puede enviar correos electrónicos.

Si su correo electrónico no llegó a su otra dirección de correo electrónico, como Gmail, entonces puede usar telnet utilidad para verificar si el puerto 25 (saliente) está bloqueado. Instale telnet en CentOS 8 con:

sudo dnf install telnet

Luego ejecute el siguiente comando en su servidor de correo.

telnet gmail-smtp-in.l.google.com 25

Si el puerto 25 (saliente) no está bloqueado, verá mensajes como el siguiente, lo que indica que la conexión se estableció correctamente. (Sugerencia:Escriba quit y presione Entrar para cerrar la conexión).

Trying 74.125.68.26...
Connected to gmail-smtp-in.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP y22si1641751pll.208 - gsmtp

Si el puerto 25 (saliente) está bloqueado, verá algo como:

Trying 2607:f8b0:400e:c06::1a...
Trying 74.125.195.27...
telnet: Unable to connect to remote host: Connection timed out

En este caso, su Postfix no puede enviar correos electrónicos a otros servidores SMTP. Pídale a su ISP/proveedor de alojamiento que lo abra por usted. Si rechazan su solicitud, debe configurar la retransmisión SMTP para evitar el bloqueo del puerto 25.

¿Sigue sin poder enviar correo electrónico?

Si el puerto 25 (saliente) no está bloqueado, pero aún no puede enviar correos electrónicos desde su propio servidor de correo a su otra dirección de correo electrónico como Gmail, entonces debe verificar el registro de correo (/var/log/mail.log ).

sudo nano /var/log/mail.log

Por ejemplo, algunas personas pueden ver las siguientes líneas en el archivo.

host gmail-smtp-in.l.google.com[2404:6800:4003:c03::1b] said: 550-5.7.1 [2a0d:7c40:3000:b8b::2] Our system has detected that 550-5.7.1 this message does not meet IPv6 sending guidelines regarding PTR 550-5.7.1 records and authentication. Please review 550-5.7.1 https://support.google.com/mail/?p=IPv6AuthError for more information

Esto significa que su servidor de correo está usando IPv6 para enviar el correo electrónico, pero no configuró los registros de IPv6. Debe ir a su administrador de DNS, configurar AAAA registro para mail.your-domain.com , entonces deberías establecer PTR registro para su dirección IPv6, que se trata en el paso 9.

Cómo deshabilitar la lista gris

De forma predeterminada, iRedMail ha habilitado la lista gris, que le dice a otros servidores SMTP de envío que intenten nuevamente en unos minutos. Esto es principalmente útil para bloquear el spam, pero también degrada la experiencia del usuario. Si prefiere deshabilitar la lista gris, siga las instrucciones a continuación.

Agregar permiso de escritura a /opt/iredapd/settings.py archivo.

sudo chmod 600 /opt/iredapd/settings.py

Luego edite el archivo de configuración.

sudo nano /opt/iredapd/settings.py

Busque la siguiente línea.

plugins = ["reject_null_sender", "wblist_rdns", "reject_sender_login_mismatch", "greylisting", "throttle", "amavisd_wblist", "sql_alias_access_policy"]

Eliminar "greylisting" de la lista. Guarde y cierre el archivo. Luego reinicie iredapd.

sudo systemctl restart iredapd

Vuelva a cambiar el archivo de configuración al modo de solo lectura.

sudo chmod 400 /opt/iredapd/settings.py

Paso 8:uso de clientes de correo en su computadora o dispositivo móvil

Inicie su cliente de correo electrónico de escritorio, como Mozilla Thunderbird, y agregue una cuenta de correo. Si Thunderbird encontró la configuración de su servidor de correo como se muestra a continuación, simplemente haga clic en Listo y podrás leer y enviar correos electrónicos.

Si Thunderbird no encontró la configuración de su servidor de correo, haga clic en Configuración manual para ingresar los detalles de su servidor de correo.

  • En la sección del servidor entrante, seleccione el protocolo IMAP, ingrese mail.your-domain.com como nombre del servidor, elija el puerto 143 y STARTTLS. Elija normal password como método de autenticación.
  • En la sección saliente, seleccione el protocolo SMTP, ingrese mail.your-domain.com como nombre del servidor, elija el puerto 587 y STARTTLS. Elija normal password como método de autenticación.

Sugerencia:también puede usar IMAP en el puerto 993 con cifrado SSL/TLS.

Fail2ban bloqueando su propia dirección IP

Si cometió un error y no pudo iniciar sesión en el servidor de correo varias veces, entonces el servicio Fail2ban en el servidor de correo podría bloquear su dirección IP. Puede agregar su dirección IP a la lista blanca editando jail.local archivo.

sudo nano /etc/fail2ban/jail.local

Agregue su propia dirección IP a la lista de ignorados como se muestra a continuación. Reemplace 12.34.56.78 con su dirección IP real.

ignoreip = 12.34.56.78 127.0.0.1 127.0.0.0/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16

Guarde y cierre el archivo. Luego reinicie Fail2ban.

sudo systemctl restart fail2ban

Paso 9:Mejorar la entregabilidad del correo electrónico

Para evitar que sus correos electrónicos se marquen como spam, debe configurar PTR , SPF , DKIM y DMARC registros.

Registro PTR

Un registro de puntero, o registro PTR, asigna una dirección IP a un FQDN (nombre de dominio completo). Es la contraparte del registro A y se usa para DNS inverso búsqueda, que puede ayudar a bloquear a los spammers. Muchos servidores SMTP rechazan los correos electrónicos si no se encuentra ningún registro PTR para el servidor de envío.

Para verificar el registro PTR para una dirección IP, ejecute este comando:

dig -x IP-address +short

o

host IP-address

El registrador de dominio no administra el registro PTR. Es administrado por la organización que le proporciona una dirección IP. Debido a que obtiene la dirección IP de su proveedor de alojamiento o ISP, no de su registrador de dominio, debe establecer un registro PTR para su IP en el panel de control de su proveedor de alojamiento, o consultar a su ISP. Su valor debe ser el nombre de host de su servidor de correo:mail.your-domain.com . Si su servidor usa una dirección IPv6, asegúrese de agregar también un registro PTR para su dirección IPv6.

Para editar el registro DNS inverso para su Kamatera VPS, inicie sesión en el área de clientes de Kamatera, luego abra un ticket de soporte y dígales que agreguen un registro PTR para las direcciones IP de su servidor para apuntar la dirección IP a mail.your-domain.com . Podría pensar que no es conveniente, pero esto es para mantener a los spammers alejados de la plataforma, por lo que los remitentes de correo electrónico legítimos como nosotros tendrán una excelente reputación de IP.

Registro SPF

FPS (Marco de políticas del remitente) especifica qué hosts o direcciones IP pueden enviar correos electrónicos en nombre de un dominio. Debe permitir que solo su propio servidor de correo electrónico o el servidor de su ISP envíe correos electrónicos para su dominio. En su interfaz de administración de DNS, cree un nuevo registro TXT como se muestra a continuación.

donde:

  • TXT indica que se trata de un registro TXT.
  • Ingrese @ en el campo de nombre para representar el nombre de dominio principal.
  • v=spf1 indica que este es un registro SPF y la versión es SPF1.
  • mx significa que todos los hosts enumerados en los registros MX pueden enviar correos electrónicos para su dominio y todos los demás hosts no están permitidos.
  • ~todos indica que los correos electrónicos de su dominio solo deben provenir de hosts especificados en el registro SPF. Los correos electrónicos que provengan de otros hosts se marcarán como falsificados.

Para verificar si su registro SPF se propaga a la Internet pública, puede usar la utilidad de excavación en su máquina Linux como se muestra a continuación:

dig your-domain.com txt

El txt opción le dice a dig que solo queremos consultar registros TXT.

Registro DKIM

DKIM (DomainKeys Identified Mail) utiliza una clave privada para firmar digitalmente los correos electrónicos enviados desde su dominio. Los servidores SMTP receptores verifican la firma utilizando la clave pública, que se publica en el registro DNS DKIM.

El script de iRedMail configuró automáticamente DKIM para su servidor. Lo único que queda por hacer es crear un registro DKIM en el administrador de DNS. Ejecute el siguiente comando para mostrar la clave pública DKIM.

sudo amavisd -c /etc/amavisd/amavisd.conf showkeys

La clave pública DKIM está entre paréntesis.

Luego, en su administrador de DNS, cree un registro TXT, ingrese dkim._domainkey en el campo de nombre. Copie todo lo que está entre paréntesis y péguelo en el campo de valor. Elimine todas las comillas dobles y saltos de línea.

Después de guardar sus cambios, ejecute el siguiente comando para probar si su registro DKIM es correcto.

sudo amavisd -c /etc/amavisd/amavisd.conf testkeys

Si el registro DKIM es correcto, la prueba pasará.

TESTING#1 linuxbabe.com: dkim._domainkey.linuxbabe.com => pass

Tenga en cuenta que su registro DKIM puede necesitar algún tiempo para propagarse a Internet. Según el registrador de dominio que utilice, su registro DNS puede propagarse instantáneamente o puede tardar hasta 24 horas en propagarse. Puede ir a https://www.dmarcanalyzer.com/dkim/dkim-check/, ingresar dkim como selector e ingrese su nombre de dominio para verificar la propagación de registros DKIM.

Registro DMARC

DMARC significa Autenticación, informes y conformidad de mensajes basados ​​en dominios. DMARC puede ayudar a recibir servidores de correo electrónico para identificar correos electrónicos legítimos y evitar que su nombre de dominio sea utilizado por la suplantación de correo electrónico.

Para crear un registro DMARC, vaya a su administrador de DNS y agregue un TXT registro. En el campo de nombre, ingrese _dmarc . En el campo de valor, ingrese lo siguiente. (Debe crear el [email protected] dirección de correo electrónico.)

v=DMARC1; p=none; pct=100; rua=mailto:[email protected]

El registro DMARC anterior es un punto de partida seguro. Si desea leer la explicación completa de DMARC, consulte el siguiente artículo. Tenga en cuenta que esto es opcional.

  • Creación de un registro DMARC para proteger su nombre de dominio de la falsificación de correo electrónico

Paso 10:prueba de puntuación y ubicación del correo electrónico

Después de crear un registro PTR, SPF, DKIM, vaya a https://www.mail-tester.com . Verá una dirección de correo electrónico única. Envíe un correo electrónico desde su dominio a esta dirección y luego verifique su puntaje. Como puede ver, obtuve una puntuación perfecta. En el resultado de la prueba, debe verificar si su registro PTR, SPF y DKIM son válidos.

Mail-tester.com solo puede mostrarle una puntuación de remitente. Hay otro servicio llamado GlockApps que le permite verificar si su correo electrónico llegó a la bandeja de entrada o a la carpeta de correo no deseado del destinatario, o si fue rechazado por completo. Admite muchos proveedores de correo electrónico populares como Gmail, Outlook, Hotmail, YahooMail, iCloud mail, etc.

¿Qué sucede si sus correos electrónicos aún se marcan como spam?

Tengo más consejos para ti en este artículo:Cómo evitar que tus correos electrónicos se marquen como spam. Aunque tomará algo de tiempo y esfuerzo, sus correos electrónicos finalmente se colocarán en la bandeja de entrada después de aplicar estos consejos.

¿Qué sucede si Microsoft Mailbox rechaza su correo electrónico?

Microsoft parece estar usando una lista negra interna que bloquea muchas direcciones IP legítimas. Si sus correos electrónicos son rechazados por Outlook o Hotmail, debe enviar el formulario de información del remitente. Después de eso, su correo electrónico será aceptado por Outlook/Hotmail.

Adición de varios dominios de correo

Escribí este artículo para mostrarte cómo agregar múltiples dominios de correo en iRedMail.

Habilitación del puerto SMTPS 465

Si va a utilizar el cliente de Microsoft Outlook, debe habilitar el puerto SMTPS 465 en el servidor Postfix SMTP.

Resolución de problemas

Primero, utilice un VPS con al menos 4 GB de RAM. Ejecutar iRedMail en un VPS de 1 GB de RAM hará que la base de datos, SpamAssassin o ClamAV se eliminen debido a un problema de falta de memoria. Si realmente desea utilizar un VPS de 1 GB de RAM, perderá los correos electrónicos entrantes y tendrá otros resultados no deseados.

Si no se puede acceder a la interfaz web de iRedMail, como un error de puerta de enlace 502, debe verificar los registros de Nginx en /var/log/nginx/ directorio para encontrar pistas. También puede consultar el registro de correo /var/log/maillog .

Compruebe si los distintos servicios se están ejecutando.

systemctl status postfix

systemctl status dovecot

systemctl status nginx

systemctl status mariadb

systemctl status [email protected]

systemctl status amavisd

If you enabled the firewall, you should open the following ports in the firewall.

HTTP port:  80
HTTPS port: 443
SMTP port:  25
Submission port: 587 (and 465 if you are going to use Microsoft Outlook mail client)
IMAP port:  143 and 993

If you would like to use the UFW firewall, check my guide here:Getting started with UFW firewall on Debian and Ubuntu.

How to Renew TLS Certificate

Let’s Encrypt issued TLS certificate is valid for 90 days only and it’s important that you set up a Cron job to automatically renew the certificate. You can run the following command to renew certificate.

sudo certbot renew -w /var/www/html

You can use the --dry-run option to test the renewal process, instead of doing a real renewal.

sudo certbot renew -w /var/www/html --dry-run

If you see the following error when renewing TLS certificate.

The client lacks sufficient authorization :: Invalid response

Then you need to create the hidden directory.

sudo mkdir -p /var/www/html/.well-known/acme-challenge

And set www-data as the owner of the webroot.

sudo chown www-data:www-data /var/www/html/ -R

Also, edit the SSL virtual host /etc/nginx/sites-enabled/00-default-ssl.conf . Agregue las siguientes líneas.

location ~ /.well-known/acme-challenge {
     root /var/www/html/;
     allow all;
}

Guarde y cierre el archivo. Test Nginx configuration and reload.

sudo nginx -t

sudo systemctl reload nginx

Create Cron Job

If now the dry run is successful, you can create Cron job to automatically renew certificate. Simply open root user’s crontab file.

sudo crontab -e

Then add the following line at the bottom of the file.

@daily certbot renew -w /var/www/html --quiet && systemctl reload postfix dovecot nginx

Reloading Postfix, Dovecot and Nginx is necessary to make these programs pick up the new certificate and private key.

For Advanced Users

You may want to customize the SpamAssassin content filter to better detect spam.

  • Block Email Spam By Checking Header and Body in Postfix/SpamAssassin

If your website and mail server are running on two different VPS (virtual private server), you can set up SMTP relay between your website and mail server, so that your website can send emails through your mail server. See the following article.

  • Set up SMTP relay between 2 Postfix SMTP servers on CentOS/RHEL

Cent OS
  1. Cómo configurar un servidor OpenVPN en CentOS 7

  2. Configurar el servidor DHCP en CentOS 8:¿cómo hacerlo?

  3. Configure un servidor de correo con PostfixAdmin y MariaDB en CentOS 7

  4. Cómo configurar un servidor de correo con PostfixAdmin en CentOS 7

  5. ¿Cómo enviar correo electrónico con mi servidor CentOS?

Cómo configurar rápidamente un servidor de correo en Ubuntu 20.04 con Modoboa

Cómo instalar un servidor de correo con PostfixAdmin en CentOS 7

Cómo configurar el servidor DHCP en CentOS 8

Cómo configurar un servidor de correo con todas las funciones con IRedMail en Centos 7 VPS

Cómo configurar un servidor de correo con todas las funciones con iRedMail en Ubuntu 18.04 VPS

Cómo configurar un servidor de correo con Modoboa en Ubuntu 20.04