Problemas para enviar correo a través de Namecheap Private Email (SMTP) en Discourse autoalojado

Hola a todos,

He estado intentando configurar el correo saliente en una instalación de Discourse autoalojada, pero hasta ahora no he tenido éxito. Incluso con el soporte de Namecheap involucrado, no pudimos hacerlo funcionar. Espero que alguien aquí pueda señalar lo que me estoy perdiendo.

Configuración

  • Alojamiento: Droplet de DigitalOcean, Discourse instalado a través del método oficial de Docker (/var/discourse).

  • Dominio: Gestionado a través de Cloudflare (registros A proxy para el sitio, solo DNS para registros MX/correo).

  • Proveedor de correo: Namecheap Private Email.

  • Versión de Discourse: Última rama de pruebas pasadas.

Lo que funciona

  • Puedo recibir correos electrónicos en mi bandeja de entrada hello@domain.com sin problemas.

  • Los registros DNS MX, SPF, DKIM y DMARC están configurados y validados.

  • El correo entrante a través de Gmail → hello@domain.com funciona.

Lo que falla

  • El correo saliente (correos de activación, correos de prueba de Discourse) nunca llega.

  • El soporte de Namecheap confirmó que mis credenciales y configuraciones son correctas, pero no pudieron explicar por qué falla desde el servidor.

Configuración actual de app.yml

DISCOURSE_SMTP_ADDRESS: mail punto privateemail punto com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: hello arroba domain punto com
DISCOURSE_SMTP_PASSWORD: “CONTRASEÑA”
DISCOURSE_SMTP_ENABLE_START_TLS: true
DISCOURSE_SMTP_DOMAIN: domain punto com
DISCOURSE_NOTIFICATION_EMAIL: hello arroba domain punto com DISCOURSE_SMTP_AUTHENTICATION: login

También probé el puerto 465 con:

DISCOURSE_SMTP_PORT: 465
DISCOURSE_SMTP_ENABLE_START_TLS: false
DISCOURSE_SMTP_SSL: true

Pasos de depuración realizados

  • Verifiqué que los registros DNS en Cloudflare son correctos (MX, SPF, DKIM, DMARC).

  • Confirmé que los puertos 587 y 465 no están bloqueados localmente por UFW/iptables.

  • Intenté forzar la preferencia de IPv4 en /etc/gai.conf.

  • Probé con nc y openssl → todavía con tiempo de espera agotado.

  • Incluso las propias instrucciones de Namecheap (587 STARTTLS o 465 SSL) resultan en un fallo desde el servidor.

Pregunta

¿Alguien ha configurado con éxito Namecheap Private Email con Discourse SMTP?

  • ¿Existe algún problema conocido con las droplets de DigitalOcean al alcanzar mail.privateemail.com en los puertos 587/465?

  • ¿Debería renunciar a Namecheap SMTP y usar un servicio de correo transaccional (Postmark, Mailgun, SendGrid) en su lugar?

  • ¿Se necesita alguna bandera especial en app.yml para este proveedor?

Gracias de antemano por cualquier ayuda. He llegado a un punto muerto con esta configuración.

Deberías usar un servicio de correo transaccional como Mailgun, Brevo o Amazon SES. Esa es la forma óptima de enviar correos electrónicos desde tu foro.

Consulta discourse/docs/INSTALL-email.md at main · discourse/discourse · GitHub

También podrías consultar:

1 me gusta

¿Cuál es el mensaje de error?

¿Está DigitalOcean bloqueando el correo saliente, como han informado muchos otros?

¿Ha probado el puerto 2525?

1 me gusta

Gracias, chicos, por las respuestas, lo aprecio mucho.

@pfaffman No soy consciente de que Digital Ocean esté bloqueando el correo saliente. No, no he probado el 2525.

Después de buscarlo, me topé con un artículo que dice que bloquean todos los correos salientes Why is SMTP blocked? | DigitalOcean Documentation

Hice una pequeña prueba con:

nc -vz ``smtp.mailgun.org`` 2525 y la prueba pasó. Los puertos 587 y 465 fallaron.

Abrí un ticket solicitando la apertura de estos puertos.

Si no los abren, tendré que investigar sobre Mailgun, espero que sea gratis.

Si contactas a su soporte para la activación de la cuenta, después de cambiar la configuración del tipo de plan, deberías estar bien en un plan gratuito.

Siempre pensé que esto era muy similar a BT Mail o Gmail, no adecuado para Discourse.

Podrías hacer sondeo POP3 para recibir correos, pero como tienes un VPS x86, te recomendaría mail-receiver

1 me gusta

Digital Ocean ha respondido y respondido a su correo:

"Nos complacería explorar la posibilidad de que nuestro equipo de seguridad analice más a fondo el desbloqueo de los puertos SMTP para usted. Para ayudarnos a comprender mejor sus necesidades y avanzar con su solicitud, ¿podría compartir los siguientes detalles sobre los requisitos de su negocio?:

  • ¿Qué tipo de correos electrónicos enviará (por ejemplo, transaccionales, boletines informativos, etc.)?

  • ¿Planea alojar su propio correo electrónico o utilizar un servicio de envío de terceros?

  • Si es posible, proporcione contexto sobre sus requisitos de puerto y si no se pueden utilizar puertos no estándar o una API.

Una vez que recibamos su respuesta, reenviaremos su solicitud al equipo con todos los detalles proporcionados."

En ese caso, deberías cambiar a usar un servicio de correo transaccional como Mailgun (100 correos gratis al día) o Brevo (300 correos gratis al día). Luego, puedes cambiar a usar el puerto 2525 en tu archivo app.yml, ya que este no está bloqueado.

2 Me gusta

¡Saludos del Soporte de DigitalOcean!

Entendemos que tiene un requisito de aplicación o una necesidad comercial para habilitar los puertos 25, 465 y 587. Sin embargo, debido a nuestra política actual, no podemos facilitar las solicitudes para eliminar la restricción en este puerto.

Recomendamos utilizar puertos alternativos si su aplicación lo permite, como el puerto 2525. También puede usar la API REST con SendGrid, que le permite enviar correos electrónicos a través de solicitudes HTTP en lugar del protocolo SMTP tradicional si le resulta adecuado, o utilizar otro servicio de envío de terceros.

¡No dude en contactarnos si tiene alguna consulta adicional. Siempre estamos aquí para usted!

Así que probaré Mailgun

1 me gusta

quizás dar seguimiento y decir que no necesitas 25?

@Ethsim2 gracias, creo que está claro, al igual que Linode, cerraron todo para luchar contra el spam, solo Linode abrirá los puertos a petición, pero está bien.

Optaré por MailGun.

2 Me gusta

Nunca en mi vida me ha pasado que mi cuenta nueva se bloquee LOL
“Mailgun: Tu cuenta está temporalmente deshabilitada.”

¿Hay algún servicio SMTP alternativo que pueda usar?

1 me gusta