El correo electrónico no funciona; Net::SMTPAuthenticationError

Estoy alojando el servidor Discourse en DigitalOcean, el dominio de PorkBun, el servidor de correo con MailGun.

Mi cuenta de MailGun está activada y el dominio (discourse.mydomain.com) está verificado para su uso con mg.mydomain.com. Todos los registros TXT de DNS están en su lugar.

He realizado todos los pasos de solución de problemas en el hilo aquí varias veces; Troubleshoot email on a new Discourse install

Puedo ingresar telnet en el host y enviar correos manualmente sin problema (https://serverfault.com/questions/49935/easiest-way-to-send-a-test-email-from-a-server-to-test-settings)

El app.yml tiene este contenido

  DISCOURSE_DEVELOPER_EMAILS: 'myemail@gmail.com'
  DISCOURSE_SMTP_ADDRESS: smtp.mailgun.org
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: mail
  DISCOURSE_SMTP_PASSWORD: "12345678901234567890"
  DISCOURSE_SMTP_DOMAIN: mg.mydomain.com
  DISCOURSE_NOTIFICATION_EMAIL: admin@mg.mydomain.com

Cuando intento ejecutar discourse-doctor o si ejecuto ./launcher enter app y luego ejecuto rake 'emails:test[mail@mg.mydomain.com]' obtengo el siguiente error

======================================== ERROR ========================================
                                    UNEXPECTED ERROR

Net::SMTPAuthenticationError

====================================== SOLUTION =======================================
This is not a common error. No recommended solution exists!

Please report the exact error message above to https://meta.discourse.org/
(And a solution, if you find one!)
=======================================================================================

Algo está roto en Discourse, porque no tengo problemas para enviar el correo manualmente. He estado buscando en Google y en los foros aquí durante muchas horas, sin soluciones todavía. ¿Alguna idea?

Algo está mal con tu nombre de usuario/contraseña. Es posible que tu contraseña tenga un carácter que necesite ser escapado, como un asterisco o una comilla simple, quizás (por lo que será más fácil cambiar la contraseña para que no incluya ese carácter).

Consulta Solución de problemas de correo electrónico en una nueva instalación de Discourse

2 Me gusta

la contraseña no contiene ninguno de esos caracteres. De hecho, es la contraseña generada automáticamente por MailGun, y solo tiene letras, números y algunos caracteres ‘-’. Es bastante larga.

Esa fue mi mejor suposición. Intentaría generar una nueva contraseña y/o copiarla y pegarla de nuevo. La probabilidad de que esto sea un error en Discourse es extremadamente remota.

1 me gusta

Apuesto a que DISCOURSE_SMTP_USER_NAME es incorrecto; mail probablemente no sea suficiente para que mailgun te autentique. Probablemente debería ser mail@mg.mydomain.com.

Supongo que crees que DISCOURSE_SMTP_DOMAIN es el dominio del usuario. No lo es, es el dominio EHLO. Casi con toda seguridad no necesitas configurarlo.

1 me gusta

Me acabo de dar cuenta de esto también. Cuando probé con telnet, usé “mail@mg.mydomain.com” como nombre de usuario y funcionó, así que lo intentaré de nuevo con eso como DISCOURSE_SMTP_USER_NAME.

Supongo que crees que DISCOURSE_SMTP_DOMAIN es el dominio del usuario. No lo es, es el dominio EHLO. Probablemente no necesites configurarlo.

No estoy seguro de entender qué significa esto.

Para MailGun, estaba usando mg.mydomain.com, para Discourse estaba usando discourse.mydomain.com. En realidad, no tengo ningún registro DNS configurado en este momento para mydomain.com, solo para el subdominio de Discourse y los registros TXT para el DNS de MailGun.

Elimina la línea de DISCOURSE_SMTP_DOMAIN, es casi seguro que no la necesitas.

Se utiliza durante la negociación SMTP como el dominio HELO/EHLO.

1 me gusta

Sí, también cuando probé con telnet, de hecho pude enviar el correo electrónico desde todas las siguientes direcciones:

  • mail@discourse.mydomain.com
  • mail@mydomain.com
  • mail@mg.mydomain.com

No estoy seguro de cuál se supone que debo usar. ¿Importa?

Eso depende de tu configuración y de cómo quieras que sea tu flujo de correo.

1 me gusta

ya está funcionando, gracias a todos por la ayuda :slight_smile:

la solución fue usar

  DISCOURSE_SMTP_USER_NAME: mail@mg.mydomain.com

en lugar de

  DISCOURSE_SMTP_USER_NAME: mail
2 Me gusta

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