¿Cómo habilitar un servidor de correo electrónico SMTP en el servidor en la nube de Hetzner?
Tutorial paso a paso sobre cómo activar el servidor de correo electrónico SMTP en el servidor en la nube de Hetzner y evitar que los correos electrónicos se conviertan en spam mediante la configuración adecuada de dominio y host.

¿Cómo habilitar un servidor de correo electrónico SMTP en el servidor en la nube de Hetzner?

Este artículo le enseñará cómo configurar un servidor de correo SMTP en un servidor en la nube de Hetzner y evitar que sus correos electrónicos sean enviados como spam. Envíe correos electrónicos seguros y confiables con la configuración correcta de DNS y autenticación.
0 acciones
0
0
0
0

¿Cómo configurar un servidor SMTP en Hetzner que envíe correos electrónicos sin generar spam?

Esta guía explica paso a paso cómo implementar SMTP en un servidor en la nube de Hetzner para enviar correos electrónicos y gestionar su recepción en otro servidor. También abarca configuraciones DNS importantes (SPF, DKIM, DMARC, PTR), autenticación (SASL/TLS), gestión de rebotes y bajas de suscripción, y recomendaciones prácticas para evitar ser incluido en listas negras.

Arquitectura propuesta y consideraciones iniciales

Arquitectura propuesta:

  • Servidor de envío (Hetzner Cloud): Instalación Sufijo + OpenDKIM + OpenDMARC + TLS — Responsable del envío de correo electrónico (retransmisión SMTP).
  • Servidor de entrada (por ejemplo, su VPS o alojamiento): los registros MX apuntan a este servidor; responsable de entregar y recibir los mensajes entrantes (POP/IMAP/Dovecot o su servicio de correo electrónico).
  • Buzón de correo para mensajes rebotados y cancelaciones de suscripción: Los mensajes rebotados se envían a una dirección específica y ese buzón es procesado por el servidor receptor.
  • Usuarios/Aplicaciones: Uso AUTENTICACIÓN SMTP (o autorización basada en IP) autenticarse en el servidor Hetzner para poder retransmitir.

Pasos para preparar el servidor de envío (Hetzner)

Instalación de paquetes básicos (Debian/Ubuntu)

Ejemplo para Ubuntu/Debian:

sudo apt update
sudo apt install -y postfix dovecot-core dovecot-imapd opendkim opendkim-tools opendmarc certbot postfix-policyd-spf-python rspamd

Configuración del nombre de host y del PTR

Es necesario configurar el nombre de host en el servidor de reenvío y registrar el DNS inverso en el panel de Hetzner.

sudo hostnamectl set-hostname mail.example.com

Consejos para la configuración de Postfix: Cantidad mihostname Configúrelo como mail.example.com e introduzca el valor mail.example.com en el panel Hetzner para la IP inversa.

Configuración de TLS con Let's Encrypt

Emitir un certificado y referenciarlo en la configuración de Postfix:

sudo certbot certonly --standalone -d mail.example.com

En main.cf Sume los siguientes valores:

smtpd_tls_cert_file = /etc/letsencrypt/live/mail.example.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.example.com/privkey.pem
smtpd_use_tls = yes
smtp_tls_security_level = may
smtpd_tls_security_level = may

Configuración básica de Postfix (fragmento de main.cf)

Una selección de configuraciones importantes en main.cf:

myhostname = mail.example.com
myorigin = /etc/mailname
mydestination = localhost
relay_domains =
mynetworks = 127.0.0.0/8
smtp_tls_security_level = may
smtpd_tls_security_level = may
smtpd_tls_auth_only = yes
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
smtpd_helo_required = yes

Explicación: rechazar_destino_no_autenticado Impide que su servidor se utilice como repetidor abierto; solo los usuarios autorizados o las máquinas conocidas pueden retransmitir.

Habilitación de SASL con Dovecot (para autenticar a los usuarios remitentes)

En el archivo /etc/dovecot/conf.d/10-master.conf Sección autenticación de servicio Configúralo así:

service auth {
  unix_listener /var/spool/postfix/private/auth {
    mode = 0660
    user = postfix
    group = postfix
  }
}

Para la autenticación, puede usar la contraseña local, una base de datos SQL o LDAP. A continuación, reinicie los servicios:

sudo systemctl restart dovecot postfix

DKIM, SPF y DMARC: configuración de DNS

Generación de una clave DKIM con OpenDKIM

Ejemplo de creación de una clave DKIM en el servidor emisor:

sudo mkdir /etc/opendkim/keys/example.com
sudo opendkim-genkey -b 2048 -d example.com -s mail -D /etc/opendkim/keys/example.com

Archivo correo.txt Generado; contenido del registro TXT que se agregará al DNS: selector = correo electrónico → correo._dominio.ejemplo.com.

Configuración de ejemplo /etc/opendkim.conf (Extracto):

Domain                  example.com
KeyFile                 /etc/opendkim/keys/example.com/mail.private
Selector                mail
AutoRestart             yes
Socket                  local:/var/spool/postfix/opendkim/opendkim.sock

Y en /etc/postfix/main.cf Agregar:

milter_default_action = accept
smtpd_milters = unix:/var/spool/postfix/opendkim/opendkim.sock
non_smtpd_milters = $smtpd_milters

Registro SPF

En el DNS del dominio de muestra:

example.com. IN TXT "v=spf1 ip4:YOUR_HETZNER_IP include:spf.protection.example ?all"

O, más estrictamente:

"v=spf1 ip4:YOUR_HETZNER_IP -all"

Recomendación: Al comienzo de ~todos O ?todo Úselo para que los errores iniciales no provoquen un rechazo total, y luego sea más estricto.

Registro DMARC

Ejemplo de DMARC en DNS:

_dmarc.example.com. IN TXT "v=DMARC1; p=quarantine; rua=mailto:[email protected]; ruf=mailto:[email protected]; pct=100; adkim=s; aspf=s"

Nota: Para empezar, puedes p=ninguno Veamos entonces los informes. p=cuarentena O p=rechazar Activar.

Recibir correos electrónicos en otro servidor y gestionar los rebotes.

Cómo configurar MX para recibir

Ejemplo de un registro MX en DNS:

example.com. IN MX 10 mail-receive.example.org

Nota: El registro MX debe apuntar al servidor receptor; el remitente utiliza Hetzner para el correo saliente, por lo que debe configurarse un registro SPF/DKIM para el dominio remitente.

Configuración de la ruta de retorno y gestión de rebotes

Algunos puntos importantes:

  • La ruta de retorno debe ser específica para manejar devoluciones; lo mejor es apuntar a un subdominio dedicado como rebote.ejemplo.com Indicar.
  • Puedes usar VERP para cualquier correo electrónico: envelope-from="[email protected]" Para determinar el retorno con mayor precisión.

Procesamiento de rebotes: proceso recomendado:

  1. Una dirección [email protected] Créelo y apunte su registro MX al servidor que lo procesa.
  2. Ese servidor con fetchmail / obtener correo electrónico O bien, recuperar directamente el buzón IMAP y tomar medidas con scripts de procesamiento de rebotes.
  3. Para analizar los rebotes, puede utilizar herramientas como flanqueador O Mail::Delivery::BounceParser Usar.

Ejemplo de procesamiento de rebotes con flanker (Python)

Primera instalación:

pip install flanker

Ejemplo de script sencillo (lectura desde la entrada estándar y procesamiento):

from flanker import mime
from flanker.utils import bounces
import sys

raw = sys.stdin.read()
msg = mime.from_string(raw)
bounce = bounces.parse(raw)
# classify and store bounce info in database or suppression list

Por categoría rebote fuerte (errores 5xx) y rebote suave (4xx) Puede aplicar políticas de eliminación o reintento.

Cómo evitar el spam: Mejores prácticas

Configuración técnica

  • PTR Consonante con mihostname y A es un disco.
  • FPS, DKIM, DMARC Habilitar y firmar DKIM.
  • El banner HELO/SMTP coincide con el nombre de host.
  • TLS habilitado y smtpd_tls_auth_only = sí Para evitar la transmisión sin cifrar.
  • Evite las direcciones IP con un historial negativo y utilice un rDNS adecuado.

Políticas y listas de contenido

  • Siempre desde doble confirmación Úselo para listas de correo electrónico.
  • Cada correo electrónico debe tener un enlace para cancelar la suscripción simple y comprensible; en el encabezado de Cancelar suscripción a la lista Usar:
List-Unsubscribe: <mailto:[email protected]>, <https://example.com/unsubscribe?email=...>
  • Calentamiento de IP: Envíe una pequeña cantidad desde el primer día y auméntela gradualmente.
  • Eliminar o etiquetar direcciones con altas tasas de rebote o quejas.
  • Cumplimiento de leyes como CAN-SPAM y GDPR para usuarios europeos.

Controla las tasas de envío, las colas y evita la mala reputación.

Configuración de limitación de concurrencia y retardo de destino de Postfix:

postconf -e "smtp_destination_concurrency_limit = 20"
postconf -e "smtp_destination_rate_delay = 1s"

Para políticas más complejas que los demonios políticos como reenvío, política O rspamd Usar.

Gestión de colas con comandos de Postfix:

postqueue -p
postsuper -d ALLDeferred

Pruebas y herramientas para comprobar la capacidad de entrega

  • Para probar SMTP desde swaks Usar:
swaks --to [email protected] --from [email protected] --server mail.example.com --auth LOGIN --auth-user smtpuser --auth-password smtppass --tls
tail -f /var/log/mail.log

Análisis de informes DMARC a través de valores calle y ruf Te ayuda a detectar problemas de entrega.

Ejemplo de proceso completo: Envío desde la aplicación A utilizando Hetzner como relé.

  1. Aplicación A a correo.ejemplo.com:587 Se conecta con el usuario usuario_smtp y contraseña; se realiza la autenticación.
  2. Tras la verificación, el servidor Hetzner genera el correo electrónico y lo firma con DKIM; también se configuran SPF y PTR.
  3. Si se devuelve, rebota a [email protected] se envía; el MX para rebote apunta al servidor que realiza el análisis.
  4. La aplicación lee la lista de supresión y desactiva la dirección para evitar rebotes permanentes.

Consejos adicionales de seguridad y funcionamiento

  • Asegúrese de que el puerto de salida 25 esté abierto en el servidor (Hetzner a veces tiene restricciones de red).
  • Para evitar abusos, la autenticación debe ser obligatoria; nunca mantenga el servidor como un repetidor abierto.
  • Envíe los registros a un sistema de monitorización (ELK/Graylog) para analizar los picos de envío o las respuestas de error.
  • En caso de un alto volumen de envíos, utilice una IP dedicada y caliéntela gradualmente.

Herramientas de código abierto recomendadas para la automatización (gratuitas)

  • Postfix (SMTP)
  • Palomar (SASL/IMAP)
  • OpenDKIM / OpenDMARC
  • Rspamd para filtrar y puntuar
  • fetchmail / getmail para obtener rebotes
  • Flanker o Mail::Delivery::BounceParser para el procesamiento de rebotes
  • postfwd / policyd para precios y políticas

Enlace a los servicios de la empresa (más de 85 ubicaciones y servicios)

Si busca una infraestructura con amplio acceso a la red y diversas ubicaciones, puede utilizar los servicios adecuados para seleccionar el centro de datos más cercano a su público objetivo, lo que le permitirá reducir la latencia y mejorar la capacidad de entrega.

  • Más que 85 ubicaciones Un mundo para la selección de centros de datos.
  • Servidor en la nube de alto rendimiento con IP dedicada para marketing por correo electrónico y servicios SMTP.
  • Servidor anti-DDoS, diversos VPS y soporte para la configuración de redes y seguridad.

Punto final

Si está listo para comenzar, puede explorar los planes de servidores en la nube, IP dedicada y servicios de administración de DNS y seguridad, o contactar al equipo técnico para configuraciones personalizadas, implementación de DKIM/DMARC y administración de rebotes. El equipo de soporte está disponible para brindar orientación y asistencia técnica.

También te puede gustar