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

==================== MAIL TEST ====================
For a robust test, get an address from http://www.mail-tester.com/
Sending mail to REDACTED  . . 
Testing sending to callumokane123@gmail.com using support@maniabots.xyz:REDACTED@smtp.zoho.com:587.
SMTP server connection successful.
Sending to callumokane123@gmail.com. . . 
Sending mail failed.

==================== DONE! ====================

And I do not get the activation email for setting up account

Any help is appreciated :stuck_out_tongue_closed_eyes:

My guess is that your forum is called forum.maniabots.xyz and is sending from noreply@forum.maniabots.xyz and your mail server won’t do it. There is a line at the bottom of app.yml that you can change to set the address. You have to edit it by hand.

Can you explain more in detail, my site is located at support.maniabots.xyz and the email is support@maniabots.xyz, my app.yml Config looks fine

## Any custom commands to run after building
run:
  - exec: echo "Beginning of custom commands"
  ## If you want to set the 'From' email address for your first registration, uncomment and change:
  ## After getting the first signup email, re-comment the line. It only needs to run once.
  - exec: rails r "SiteSetting.notification_email='support@maniabots.xyz'"
  - exec: echo "End of custom commands"

I have made sure the lines are uncommented and the email is correct now and I have rebuilt the container but I still receive no verification email

Sorry. That was my best guess.

So, what do I need to do? I can give you access to the server if needed to help me!

Sorry. I’ve done my best here and have no more ideas.

If you want me to solve your problem, then you can see my installation packages: Discourse Installation Packages — Literate Computing, LLC.

I can configure Mailgun for you and it will work. There are a hundred different things that might be causing your custom mail server not to work.

Well, I don’t want to reconfigure my mail stuff with my domain and don’t want to be spending more money for mailgun

You’d not need to change any of your existing mail stuff and Mailgun is free for the first 10K messages/month.

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.