El servidor SMTP se conecta, pero el correo falla al enviarse

==================== PRUEBA DE CORREO ====================
Para una prueba robusta, obtén una dirección en http://www.mail-tester.com/
Enviando correo a REDACTED . . 
Probando el envío a callumokane123@gmail.com usando support@maniabots.xyz:REDACTED@smtp.zoho.com:587.
Conexión al servidor SMTP exitosa.
Enviando a callumokane123@gmail.com . . 
El envío del correo falló.

==================== ¡LISTO! ====================

Y no recibo el correo de activación para configurar la cuenta.

Cualquier ayuda será apreciada :squinting_face_with_tongue:

Mi suposición es que tu foro se llama forum.maniabots.xyz y envía desde noreply@forum.maniabots.xyz, y tu servidor de correo no lo permite. Hay una línea en la parte inferior de app.yml que puedes modificar para establecer la dirección. Tienes que editarla manualmente.

¿Puedes explicar con más detalle? Mi sitio está ubicado en support.maniabots.xyz y el correo electrónico es support@maniabots.xyz. Mi configuración de app.yml parece estar bien.

## Cualquier comando personalizado para ejecutar después de la compilación
run:
  - exec: echo "Inicio de comandos personalizados"
  ## Si deseas establecer la dirección de correo electrónico 'De' para tu primer registro, descomenta y modifica:
  ## Después de recibir el primer correo de registro, vuelve a comentar la línea. Solo necesita ejecutarse una vez.
  - exec: rails r "SiteSetting.notification_email='support@maniabots.xyz'"
  - exec: echo "Fin de los comandos personalizados"

Me he asegurado de que las líneas no estén comentadas y de que el correo electrónico sea correcto ahora, y he vuelto a construir el contenedor, pero aún así no recibo el correo de verificación.

Lo siento. Esa fue mi mejor suposición.

Entonces, ¿qué necesito hacer? ¡Puedo darte acceso al servidor si es necesario para ayudarme!

Lo siento. He hecho todo lo posible aquí y no se me ocurren más ideas.

Si quieres que resuelva tu problema, puedes ver mis paquetes de instalación: https://www.literatecomputing.com/discourse-installation-packages/.

Puedo configurar Mailgun para ti y funcionará. Hay un centenar de cosas diferentes que podrían estar causando que tu servidor de correo personalizado no funcione.

Bueno, no quiero volver a configurar mi correo con mi dominio ni gastar más dinero en Mailgun.

No necesitarás cambiar nada de tu configuración de correo actual y Mailgun es gratuito para los primeros 10.000 mensajes/mes.

Hola a todos,
¿Alguien encontró una solución a esto?
He configurado Postfix en mi host de Docker para correos salientes. Funciona perfectamente cuando envío correos desde SSH mediante el comando mail, pero el contenedor de Discourse falla con el mismo error que tuvo el OP. Seguí una pista de este hilo: How to set SMTP config to use localhost? y, gracias a eso, eliminé el error de autenticación en el contenedor de Discourse (no proporciono ningún usuario/contraseña a Discourse para que se conecte a mi servidor de correo), pero ahora obtengo el mensaje ‘sending mail failed’. ¿Alguna idea?

No tenía idea de que configurar un servidor de correo sería la parte más difícil en mi experiencia con Discourse… :frowning: La instalación de Discourse es impecable y está muy bien pensada, a diferencia de cualquier configuración de servidor de correo en Linux.

¡Gracias de antemano!

Por eso todas las instrucciones de instalación dicen que no intentes hacerlo. Ahora mismo, administrar un servidor de correo es muy complicado.

Mi suposición es que Discourse está usando el nombre de host para la dirección de correo desde la que envía, y tu servidor de correo no lo aceptará. Pero hay docenas de cosas que podrían estar mal, todas las cuales están fuera del alcance de la ayuda que puedes obtener aquí.

Para quienes buscan una solución a esto: yo ya la encontré. Este post fue clave: How to get Discourse to work with Postfix - #11 by shu_kaze - Linux - Level1Techs Forums

El problema era que Discourse no podía conectarse a mi servidor Postfix desde Docker. Técnicamente, la conexión proviene de otra red y Postfix no tenía esa red en la lista de redes permitidas. Basta con agregar la red de Docker (en mi caso 172.17.0.0/16) a mynetworks en la configuración de Postfix, y ¡funciona!

Primero debes verificar si Docker puede conectarse a tu servidor Postfix (es decir, si la conexión se puede establecer antes de que se ejecute la verificación de redes permitidas en Postfix). Recuerda revisar la configuración de Postfix en inet_interfaces. Yo asigné all, ya que localhost no funcionará para Discourse en Docker.

Si aún así no funciona, revisa los registros de Postfix. En mi caso, están en el archivo /var/log/mail.log.

Espero que esto ayude a alguien en el futuro. Me tomó varios días ponerlo en marcha, pero ahora finalmente no dependo de ningún servicio de correo pagado (incluso quise usar uno, pero no pude hacerlo funcionar) y lo tengo gratis. ¡Recuerda agregar registros SPF a tu dominio! De lo contrario, Gmail y otros proveedores de correo bloquearán tus correos: ni siquiera llegarán a la carpeta de spam, sino que serán no entregados.