Cuando el envío de correo se bloquea o falla, la causa suele estar en la ruta entre el servidor MagnusBilling y el proveedor SMTP externo. Prueba DNS, TCP, TLS y autenticación desde el servidor para separar restricciones de red de errores de credenciales o de la aplicación.
1. Comprueba si el puerto SMTP está abierto
Confirma el hostname y el modo de cifrado con el proveedor. Los puertos habituales son 465 para TLS implícito, 587 para STARTTLS y, cuando el proveedor lo ofrece, 2525 como alternativa.
- 465 — SSL/TLS
- 587 — STARTTLS
- 2525 — provider-specific alternative
nc -vz -w5 smtp.your-domain.example 465
nc -vz -w5 smtp.your-domain.example 587
nc -vz -w5 smtp.your-domain.example 2525 2. Prueba el handshake TLS
El puerto 465 comienza dentro de TLS. El 587 comienza en texto claro y se actualiza mediante STARTTLS, por lo que los comandos OpenSSL son distintos.
- Busca un banner SMTP que comience por 220.
- Comprueba el hostname y la cadena del certificado.
- Verify return code: 0 (ok) indica que OpenSSL aceptó la cadena en ese servidor.
# Port 465: implicit TLS
openssl s_client -connect smtp.your-domain.example:465 -servername smtp.your-domain.example -crlf -quiet
# Port 587: STARTTLS
openssl s_client -starttls smtp -connect smtp.your-domain.example:587 -servername smtp.your-domain.example -crlf -quiet 3. Realiza una prueba completa de autenticación con Swaks
Swaks prueba DNS, TCP, TLS, SMTP AUTH y el envío en una sola transacción. Sustituye todos los valores de ejemplo y utiliza un destinatario de prueba. --tls-on-connect corresponde al TLS implícito del puerto 465; usa --tls en el puerto 587.
apt update
apt install swaks -y
# Port 465
swaks --server smtp.your-domain.example --port 465 \
--to recipient@example.net --from sender@your-domain.example \
--auth LOGIN --auth-user sender@your-domain.example \
--auth-password 'APPLICATION_PASSWORD' --tls-on-connect \
--header 'Subject: MagnusBilling SMTP test' \
--body 'SMTP test from the MagnusBilling server'
# For port 587, replace --tls-on-connect with --tls 4. Diagnostica problemas habituales
- SMTP saliente bloqueado: solicita al centro de datos que permita el destino y puerto exactos o usa una alternativa ofrecida por el proveedor, como 2525.
- Fallo TLS: verifica la hora del sistema, DNS, hostname SNI y el paquete de certificados CA.
- Autenticación rechazada: comprueba el usuario completo, la contraseña o contraseña de aplicación y si el remitente debe coincidir con la cuenta autenticada.
- Mensaje aceptado pero no entregado: revisa la respuesta SMTP, el registro del proveedor, la política antispam, SPF, DKIM y DMARC.
timedatectl status
apt update
apt install ca-certificates -y
update-ca-certificates 5. Configura MagnusBilling solamente después de las pruebas
Guarda el mismo hostname, puerto, cifrado, usuario e identidad de remitente que funcionaron en la prueba por línea de comandos. Envía un mensaje de prueba desde MagnusBilling y comprueba el registro de la aplicación y el buzón de destino.
Seguridad de credenciales y pruebas
- No pegues contraseñas SMTP reales en tickets, capturas de pantalla ni en el historial del shell.
- Prefiere una contraseña de aplicación o una cuenta SMTP dedicada.
- Elimina los mensajes de prueba y cambia cualquier credencial expuesta durante el diagnóstico.
- No confundas un puerto accesible con una entrega autenticada; completa la prueba con Swaks.
Artículo original
Esta edición restaura el flujo completo de conectividad, TLS, Swaks, diagnóstico y configuración de MagnusBilling de la guía archivada.
