estoy iniciando un foro, soy completamente nuevo en Discourse, alojado en DO. Por alguna razón, tengo problemas con SMTP o con el puerto. Ahora, quería saber si optaste por iniciar sesión con Google o con redes sociales, y si no hay problema con que no haya registro o inicio de sesión local en tu foro.
SMTP está bloqueado en DO por defecto. Si quieres usar correo, necesitarás encontrar un proxy en algún lugar. Mucha gente ha dicho que Mailgun funciona bien para Discourse en la nube, pero no tengo experiencia con eso.
Esto podría ser lo que buscas:
Sí, puedes usar el inicio de sesión social (Discord, Google, …) o Discourse ID (sin configuración) sin SMTP. Perderás los resúmenes y las notificaciones por correo, pero si tu objetivo es solo tener una comunidad, funcionará bien incluso con una participación más baja (los resúmenes están diseñados para ayudar a la retención).
Genial, he probado SendGrid, Mailgun y Resend. Tengo el mismo problema; podría ser un problema de puerto, he probado todos los puertos. Por ahora, quiero ver si los inicios de sesión sociales funcionan bien y eliminar los inicios de sesión locales.
Hola @abeen, ¡bienvenido!
He realizado numerosas instalaciones autoalojadas con Mailgun y Resend en DigitalOcean (y otros servidores en la nube). ¿Podrías darnos más información sobre el problema que estás encontrando? ¿Estás editando tu app.yml con la configuración adecuada? Asumo que se trata de una instalación estándar.
DO dice: «Por favor, tenga en cuenta que, además del puerto 25 previamente bloqueado, los puertos 465 y 587 han sido bloqueados en los droplets a partir del 6 de marzo de 2025. Esto es para asegurar que los servidores de DigitalOcean no se utilicen para enviar correos electrónicos no deseados».
Y veo en el panel de administración:
Hay 30 trabajos de correo electrónico que fallaron. Verifique su archivo app.yml y asegúrese de que la configuración del servidor de correo sea correcta. Vea los trabajos fallidos en Sidekiq.
Recreé la API de resend, cambié el puerto al 587, probé también con el 2525. Nada funciona para mí.
este es probablemente el problema principal que te está causando dificultades: estás usando comillas curvas. Los archivos YAML no las soportan y suelen causar errores. Debes usar comillas simples o dobles rectas como 'password' o "password".
¿realizaste una instalación estándar en un subdominio o es una instalación en el dominio raíz? Si es lo primero, debería ser algo como forum.dobato.au o discourse.dobato.au (verifica lo que tienes configurado en tu servidor de nombres). A menos que hayas tenido la intención de instalar en el dominio raíz, esto necesita corrección.
esta línea es innecesaria; elimínala.
aunque Resend lo soporta y debería funcionar, el estándar es 587.
esta línea no es necesaria; no tiene sentido forzar al sistema de correo a iniciar STARTTLS. El gestor de correo Ruby subyacente (ActionMailer) utiliza enable_starttls_auto: true, lo que significa que actualizará automáticamente la conexión a TLS si el servidor (Resend) lo soporta. Elimina esta línea.
Tu sección correcta de app.yml debería verse así:
DISCOURSE_HOSTNAME: dobato.au # (verifica esto; ¡podría ser incorrecto!)
DISCOURSE_DEVELOPER_EMAILS: myemail@outlook.com
DISCOURSE_SMTP_ADDRESS: smtp.resend.com
DISCOURSE_SMTP_USER_NAME: resend
DISCOURSE_SMTP_PASSWORD: "re_actual_api_key_here" # ¡fíjate en las comillas rectas!
DISCOURSE_SMTP_PORT: 587
DISCOURSE_NOTIFICATION_EMAIL: noreply@dobato.au
oh, se me olvidó DO, jaja. los dejé hace un tiempo. En mi cabeza estaba pensando en Resend y Hetzner. Así que sí, usa 2525 (ahora recuerdo que cambié eso cuando también migré).
edición: arreglé mi publicación. Gracias, Jakee.
Junto con el excelente consejo anterior, ejecutar rake emails:test (consulta Troubleshoot email on a new Discourse install) para mostrar inmediatamente el error probablemente te ayudará.
Mi sitio se ha caído ahora. Es un sitio nuevo con pocos miembros, no estoy seguro de cómo descargar mis páginas personalizadas y miembros. No quiero usar SMTP en absoluto.
Sí, es probable que tu archivo yml esté roto. Publica todo aquí (sin las direcciones de correo electrónico y las contraseñas). Realmente no debería ser tan difícil ponerlo en marcha.
Solo por curiosidad, ¿qué tamaño de droplet en DigitalOcean estás usando?
¿Has podido configurar si tu servidor de nombres está correctamente configurado?
Esto debería funcionar para un foro no muy activo. ¿Tienes algún archivo de intercambio? Ejecuta free -h en la línea de comandos y publica la salida aquí.
Entiendo. Es posible alojar Discourse en Lightsail con SES (algunos usuarios aquí lo hacen). O podrías probar el puerto 2525 si aún no lo has hecho. Pero si quieres evitar estos dolores de cabeza con los puertos, podrías cambiar a un proveedor diferente, como Hetzner o Lightsail.