Introducción al desarrollo para el envío de correos de notificación con Gmail

Hola,

Soy nuevo en Ruby y Docker, pero tengo experiencia en desarrollo en otros ámbitos. Tengo una instancia de desarrollo de Discourse en funcionamiento y también una instancia de producción, por lo que parece que las dependencias están cubiertas. Me gustaría añadir funcionalidad de OAuth 2.0 a no-reply@discourse.example.com, para poder enviar las notificaciones a través de un usuario de Google Workspace.

Agradecería su ayuda en lo siguiente:

  • ¿Cómo crear la imagen de Docker desde el repositorio git de Discourse?
  • ¿Qué parte del código contiene la autenticación SMTP del no-reply y el envío de las notificaciones?

Si todo va bien, me gustaría que fuera seleccionable en el script ./discourse-setup, para que se pueda proporcionar el webmaster en la mayoría de los proveedores de correo y OAuth 2.0 cuando el proveedor de correo sea Google. En caso de que le resulte útil, puedo enviar el resultado para su revisión.

Saludos cordiales

Probablemente deberías leer esto desde aquí:

Considera seriamente usar la instalación estándar

Gracias por tu pronta respuesta. Usaría el script ./discourse-setup, sin embargo, necesito configurar Discourse como un cliente OAuth, no como un cliente SMTP, así que necesito agregarlo primero a la fuente. No puedo encontrar la fuente de Discourse en el repositorio discourse_docker. ¿Cómo puedo modificar la fuente de Discourse y luego ejecutar el script ./discourse-setup? Si no recomiendas usar ./launcher, no me importa no seguir esa dirección.

Actualmente, tengo los repositorios discourse y discourse_docker.

¿Sería algo con extraer el repositorio local al script launcher/discourse-setup en lugar del upstream?

¿Te refieres a SMTP con autenticación OAuth en lugar de autenticación básica? ¿O buscas enviar correo a través de alguna otra vía?

Discourse no admite la autenticación OAuth de SMTP, por lo que el enfoque más sencillo es probablemente que Discourse entregue el correo electrónico a un servidor de correo local configurado de tal manera que envíe el correo con la autenticación necesaria.

El mecanismo admitido por Google para esto parece ser:

1 me gusta

Quiero decir que en mi caso Discourse debería conectarse al proveedor de correo OAuth 2, y no a SMTP. Desafortunadamente, descubrí que mis correos probablemente van a spam cuando no se usa un gran proveedor de correo, así que decidí agregar autenticación OAuth 2 para la cuenta de no-reply utilizada por Discourse y conectarme a Google Workspace. También probé Mailgun, sin embargo, también necesitaría soporte IMAP.

La forma correcta de expresarlo es:

Quiero que Discourse se autentique en el servidor SMTP usando autenticación oAuth2 en lugar de autenticación básica

¿Esto es para las respuestas de los usuarios / correo entrante?

Entiendo que existe un plugin de Mailgun para esto, aunque no lo he usado.

Sí, eso es lo que quiero :slight_smile: Ya me he suscrito a Google Workspace, me gustaría aprovecharlo al máximo.

Google Workspace no está diseñado para correos electrónicos transaccionales. Necesitarás usar otra cosa.

Si deseas que tu foro reciba correos, consulta Configurar correo electrónico entrante de entrega directa para sitios autoalojados con Mail-Receiver

Normalmente, configurarías algún servicio de correo transaccional para enviar desde noreply@forum.example.com y el receptor de correo recibiría los correos enviados y los entregaría a Discourse.

Muchas gracias, lo estoy probando ahora.

1 me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.