2 puntos por GN⁺ 5 시간 전 | 1 comentarios | Compartir por WhatsApp
  • El correo electrónico es originalmente un sistema abierto y, en 2026, se puede operar desde casa o en un VPS mientras se gestionan los problemas de entrega y el spam, sin tener que confiar el correo a unas pocas grandes empresas
  • Para operarlo en casa, se necesita una IPv4 fija que no esté en listas de bloqueo, no usar CGNAT, tener permiso para cambiar el registro PTR y disponer de los puertos 25·143·465·587·993 abiertos; si no se cumplen estas condiciones, un VPS es lo más adecuado
  • Hay que configurar correctamente SPF·DKIM·DMARC·MX·PTR y revisar el estado de entrega con mail-tester.com; incluso si ocurre una breve caída de Internet, el servidor emisor reintentará la entrega
  • Si se combina el plugin GPT de Rspamd con el modelo local Gemma 4 12B QAT, se puede generar una probabilidad de spam y la razón de la decisión sin enviar correos privados a una API externa de LLM
  • Se puede reducir la barrera de entrada con docker-mailserver y clientes como Thunderbird o webmail, pero el operador debe hacerse cargo directamente de respaldos·recuperación·acceso remoto·actualizaciones y probar al menos una vez el procedimiento de recuperación

Elegir entre casa y VPS

  • En general se recomienda un VPS, pero también se puede operar un servidor de correo en casa si la conexión residencial cumple con todas estas condiciones
    • Una dirección IPv4 fija que no aparezca en listas de bloqueo
    • Una conexión que no esté detrás de CGNAT
    • Permiso para cambiar el registro PTR de la IP, por ejemplo mediante soporte del ISP
    • Un entorno en el que se puedan abrir los puertos habituales de servidor de correo: 25, 143, 465, 587, 993
  • Aunque el servidor se caiga por un momento, los servidores de correo emisores reintentan la entrega, así que no se pierden los correos entrantes de inmediato
    • Puede funcionar normalmente si el tiempo de interrupción de Internet durante el día es menor al 40%

Software de servidor de correo

Configuración de dominio y DNS

  • Al igual que con la IP, primero hay que comprobar si el dominio aparece en una lista de bloqueo de spam
  • Para un envío y recepción normales se necesitan los siguientes registros DNS
    • SPF: especifica qué servidores pueden enviar correo en nombre del dominio; un valor común es v=spf1 mx a ~all
    • DKIM: añade una firma criptográfica al encabezado del correo saliente; se registra en el dominio el nombre y el valor de clave pública indicados por el servidor
    • DMARC: amplía SPF y DKIM para evitar la suplantación del dominio; si no está claro qué valor usar, se puede usar el generador de DMARC
    • MX: especifica a dónde deben entregar el correo otros servidores. Lo habitual es conectar el registro A de mail.yourdomain.com a la IP del servidor y configurar ese nombre de host con prioridad MX 10
  • El registro PTR solo puede configurarlo el ISP o el proveedor del VPS, y la IP del servidor debe resolverse en reversa hacia un nombre de host real de servidor de correo, como mail.yourdomain.com
  • Algunos servidores también recomiendan agregar registros para detección automática de servicios, pero la base es SPF·DKIM·DMARC·MX·PTR
  • Después de la configuración, se recomienda usar mail-tester.com para revisar los registros, el funcionamiento del servidor y el estado de entrega del correo

Bloqueo de spam con un LLM local

  • El bloqueo de spam tradicional de código abierto dependía de listas de bloqueo de IP y dominios, servicios externos como Spamhaus y búsqueda de palabras clave, y su efectividad era baja, lo que se volvió una de las principales razones para abandonar el self-hosting
  • En los últimos dos años, la clasificación local con LLM surgió como una opción para resolver el problema del spam en entornos autoalojados
  • Rspamd puede clasificar si un correo es spam con un LLM mediante el plugin GPT, además de listas de bloqueo, revisión de IP y DNS, y detección de palabras clave
  • En lugar de enviar correo privado a una API externa de LLM, se ejecuta localmente Gemma 4 12B QAT
    • Puede ejecutarse en GPU o CPU y requiere al menos 7GB de RAM o VRAM
    • Soporta varios idiomas y puede usarse para clasificar correos electrónicos

Ejecutar el modelo local y conectarlo con Rspamd

curl -LsSf https://llama.app/install.sh | sh
  • En Windows se usa este comando
winget install llama.cpp
  • El servidor del modelo se ejecuta así, y la interfaz de chat puede revisarse en localhost:8080
llama serve -hf unsloth/gemma-4-12B-it-qat-GGUF:UD-Q4_K_XL --reasoning off -fa on -c 16000 --temp 0.7
  • En /etc/rspamd/local.d/gpt.conf de Rspamd, si se especifican type = "openai" y el endpoint local /v1, se puede conectar el modelo mediante una interfaz compatible con OpenAI
    • El modelo se configura como unsloth/gemma-4-12B-it-qat-GGUF:UD-Q4_K_XL
    • Los tokens máximos de salida se configuran en 100, la temperatura en 0.1 y el límite de tiempo en 30 segundos
    • En un servidor LLM sin GPU, se puede aumentar el límite de tiempo
    • La respuesta se interpreta como JSON y se requiere la clave probability en lugar de spam
  • El prompt indica que analice encabezados, asunto y cuerpo, y que devuelva solo en JSON una probabilidad de spam entre 0.0~1.0 y una razón breve de la decisión
  • La función de contexto por destinatario guarda en Redis la etiqueta de correos recientes, los remitentes principales y un resumen de 512 caracteres, y cuando se acumulan más de 5, se incluyen en el prompt de clasificación
    • El alcance es el buzón por destinatario, user
    • El período de conservación del resumen del mensaje es de 14 días y la vida útil de la clave en Redis es de 30 días
    • Funciona localmente sin llamadas externas
  • Para correos spam puede devolver una probabilidad alta basándose en marketing de miedo, contenido comercial no deseado o dominios internacionalizados sospechosos
  • Para correos técnicos de prueba legítimos puede devolver una probabilidad baja porque no contienen enlaces sospechosos ni frases promocionales
  • En la interfaz web de Rspamd se pueden revisar gráficos y datos, y pegar correos para probar el resultado esperado de clasificación

Elegir un cliente de correo

  • En escritorio, Thunderbird es un cliente de código abierto con muchas funciones que puede sustituir a Outlook
    • Ofrece las funciones básicas necesarias y una búsqueda suficientemente buena
    • También tiene app para Android
    • No ha dado problemas en 3 años de uso
  • Si se necesita webmail, se pueden usar estas opciones

Mantenimiento y responsabilidad operativa

  • Las soluciones modernas de servidor de correo como docker-mailserver están diseñadas teniendo en cuenta parches de seguridad y actualizaciones automáticas que no rompan el entorno de producción
  • El self-hosting ofrece control sobre los datos, pero a cambio traslada al operador la responsabilidad de respaldos, recuperación, acceso remoto y actualizaciones
  • Sin respaldos se pueden perder todos los datos, así que hay que contar con un plan de respaldo suficiente y probar al menos una vez el procedimiento de recuperación
  • Si se pueden asumir las condiciones y responsabilidades operativas, es posible manejar el correo incluso con caídas breves del servidor, y quienes priorizan la soberanía de los datos pueden intentar autoalojarlo

1 comentarios

 
GN⁺ 5 시간 전
Opiniones en Lobste.rs
  • Uso Fastmail y me ahorro todos los dolores de cabeza. Fue entretenido leer cuáles son esos dolores de cabeza

  • Si es una bandeja de entrada importante, hay excelentes servicios de buzón alojado como Migadu, Simplymail y Fastmail, así que no dan ganas de operarlo uno mismo. Para algo divertido o no importante, sí es posible

  • Como prueba del problema de depender de Gmail, ahora mismo Gmail está bloqueando como spam los correos de restablecimiento de contraseña de Lobsters
    En los logs aparece: “Gmail has detected that this message is likely 550-5.7.1 unsolicited mail. To reduce the amount of spam sent to Gmail, this 550-5.7.1 message has been blocked.”, y me pregunto cómo reportárselo a Google

    • Parece que no es problema solo de Gmail. En mailbox.org tampoco han llegado a la bandeja de entrada los correos de lobste.rs desde hace unas semanas
      Pensé que la pasarela de la lista de correo se había roto del lado de lobste.rs, así que cancelé la suscripción, pero de todos modos no la leía mucho y ahora prefiero el sitio web
  • La idea de operar tu propio correo en casa está bien, pero el problema es cuando te mudas. Los correos importantes siguen llegando durante la mudanza, así que un MX de respaldo no basta
    Se puede implementar, pero mudarse ya es bastante estresante como para además meter un procedimiento de migración de correo en la lista de tareas. Mientras tanto, que se caiga el blog o el DNS maestro oculto está bien

    • Antes operaba correo en casa, pero hoy no es práctico en un entorno normal de ISP residencial. Hay problemas como mudanzas, bloqueo de puertos por parte del ISP y listas de bloqueo de rangos de IP residenciales
      Hace unos 15 años moví el servidor de correo a una VM barata y desde entonces ha seguido funcionando de forma estable. Si vives en un lugar fijo y puedes usar una IP estática no incluida en listas de bloqueo y una conexión de nivel empresarial, entonces puede funcionar
    • Puedes configurar varios registros MX y hacer que uno de ellos reenvíe el correo cuando haya una caída
      Además, SMTP ya incluye reintentos en el propio protocolo, así que si un servidor deja de reintentar antes de 24 horas, no está cumpliendo la especificación correspondiente. A diferencia de cuando un servidor rechaza explícitamente por no existir el buzón o por exceso de capacidad, SMTP es más robusto de lo que parece
  • La parte difícil de operar tu propio correo no es el spam entrante, sino que, incluso haciendo todo lo necesario para el envío, los grandes proveedores de correo clasifican como spam lo que mandas
    Con el volumen de correo que envía una persona o un hogar, la IP no acumula una reputación positiva, así que si dejas de entrar en la bandeja de Gmail y similares, en la práctica es muy difícil resolverlo
    Aun así, si retransmites por un servicio como Amazon SES, la configuración puede ser sencilla y los problemas de entrega podrían desaparecer. Si lo operas tú mismo por motivos políticos o de soberanía de datos, puede ser una solución difícil de aceptar

  • Lo mejor de un servidor de correo propio es que no hace falta filtrar spam. A veces llega correo basura, pero me gusta más la certeza de que cualquiera puede escribirme
    Revisar la carpeta de spam no basta. Las grandes tecnológicas a veces descartan correos en silencio sin razón clara, y la tasa de éxito de recepción de Gmail ronda el 90%, así que incluso de otros grandes proveedores desaparece un 10%. Mi correo autoalojado nunca ha fallado al recibir
    En cambio, para enviar correo a cuentas de otros grandes servicios, todavía hace falta tener una cuenta allí, pero como contacto siempre doy mi dirección autoalojada. Quisiera probar si se puede usar un gran proveedor solo para enviar y apuntar el MX a mi propio servidor

    • Mi servidor bloquea miles de correos spam al día. Esa cifra no incluye los miles de conexiones que se bloquean antes siquiera de intentar enviar spam
  • https://xmox.nl fue muy fácil de configurar

    • Creo que lo he estado usando más de un año, pero parece que el desarrollo se detuvo y también le faltan funciones de filtrado necesarias. Estoy pensando en dejar atrás la configuración única de xmox y volver a un conjunto de componentes basados en Postfix
  • Opero por mi cuenta la lista de correo de un sitio web. Solo tiene unos pocos suscriptores, pero los correos se entregan bien
    No tengo intención de operar también mi correo personal

  • Hace unos años instalé https://modoboa.org/ en un VPS de Hetzner, pero después de varios fallos en las actualizaciones prácticamente me rendí. Sigo manteniéndolo solo porque la mayor parte todavía funciona, pero no es una configuración sostenible a largo plazo, y aún no he decidido qué elegir después
    Algunos códigos de autenticación en dos pasos, como los de Steam, llegan demasiado tarde a la bandeja de entrada. No he podido encontrar la causa, así que en esos casos uso una cuenta de Gmail que casi nunca uso
    También se cuela algo de spam, pero no hay una solución perfecta para el spam entrante. Un LLM diseñado para procesamiento de lenguaje natural podría encajar bien en esta tarea, así que tengo curiosidad por su rendimiento real, aunque también parece posible que el consumo de recursos sea absurdamente alto