La contraseña SMTP ya no funciona

¡Hola!

Lamentablemente, tuve que volver a configurar mi contraseña SMTP; la he actualizado en app.yml.

En /logs aparece: Excepción de trabajo: 535 Denegado. Autenticación fallida. Límite de velocidad alcanzado o SMTP desactivado.

Acabo de intentar buscar mi antiguo app.yml, pero me di cuenta de que una copia de seguridad desde la interfaz web solo recopila todas las imágenes y el archivo dump.sql. Hum… un poco decepcionante, pero supongo que así es como funciona.

Bueno, de todos modos… la contraseña está entre comillas y es correcta. El dominio también es correcto, al igual que el usuario. ¿Alguien puede indicarme cómo salir de este círculo vicioso de configuración en el que llevo horas? ¿Qué puedo probar, verificar o hacer?

Saludos.

Este es el registro de error de Ruby:

/usr/local/lib/ruby/2.7.0/net/smtp.rb:975:in `check_auth_response'
/usr/local/lib/ruby/2.7.0/net/smtp.rb:736:in `auth_plain'
/usr/local/lib/ruby/2.7.0/net/smtp.rb:728:in `authenticate'
/usr/local/lib/ruby/2.7.0/net/smtp.rb:565:in `do_start'
/usr/local/lib/ruby/2.7.0/net/smtp.rb:518:in `start'
/var/www/discourse/vendor/bundle/ruby/2.7.0/bundler/gems/mail-5b700fc95ee6/lib/mail/network/delivery_methods/smtp.rb:109:in `start_smtp_session'
/var/www/discourse/vendor/bundle/ruby/2.7.0/bundler/gems/mail-5b700fc95ee6/lib/mail/network/delivery_methods/smtp.rb:100:in `deliver!'
/var/www/discourse/vendor/bundle/ruby/2.7.0/bundler/gems/mail-5b700fc95ee6/lib/mail/message.rb:2141:in `do_delivery'
/var/www/discourse/vendor/bundle/ruby/2.7.0/bundler/gems/mail-5b700fc95ee6/lib/mail/message.rb:253:in `block in deliver'
actionmailer-6.1.3.1/lib/action_mailer/base.rb:559:in `block in deliver_mail'
activesupport-6.1.3.1/lib/active_support/notifications.rb:203:in `block in instrument'
activesupport-6.1.3.1/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport-6.1.3.1/lib/active_support/notifications.rb:203:in `instrument'
actionmailer-6.1.3.1/lib/action_mailer/base.rb:557:in `deliver_mail'
/var/www/discourse/vendor/bundle/ruby/2.7.0/bundler/gems/mail-5b700fc95ee6/lib/mail/message.rb:253:in `deliver'
actionmailer-6.1.3.1/lib/action_mailer/message_delivery.rb:119:in `block in deliver_now'
actionmailer-6.1.3.1/lib/action_mailer/rescuable.rb:17:in `handle_exceptions'
actionmailer-6.1.3.1/lib/action_mailer/message_delivery.rb:118:in `deliver_now'
/var/www/discourse/lib/email/sender.rb:234:in `send'
/var/www/discourse/app/jobs/regular/user_email.rb:70:in `send_user_email'
/var/www/discourse/app/jobs/regular/user_email.rb:25:in `execute'
/var/www/discourse/app/jobs/base.rb:232:in `block (2 levels) in perform'
rails_multisite-3.0.0/lib/rails_multisite/connection_management.rb:80:in `with_connection'
/var/www/discourse/app/jobs/base.rb:221:in `block in perform'
/var/www/discourse/app/jobs/base.rb:217:in `each'
/var/www/discourse/app/jobs/base.rb:217:in `perform'
sidekiq-6.2.1/lib/sidekiq/processor.rb:196:in `execute_job'
sidekiq-6.2.1/lib/sidekiq/processor.rb:164:in `block (2 levels) in process'
sidekiq-6.2.1/lib/sidekiq/middleware/chain.rb:138:in `block in invoke'
/var/www/discourse/lib/sidekiq/pausable.rb:138:in `call'
sidekiq-6.2.1/lib/sidekiq/middleware/chain.rb:140:in `block in invoke'
sidekiq-6.2.1/lib/sidekiq/middleware/chain.rb:143:in `invoke'
sidekiq-6.2.1/lib/sidekiq/processor.rb:163:in `block in process'
sidekiq-6.2.1/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch'
sidekiq-6.2.1/lib/sidekiq/job_retry.rb:112:in `local'
sidekiq-6.2.1/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch'
sidekiq-6.2.1/lib/sidekiq.rb:38:in `block in <module:Sidekiq>'
sidekiq-6.2.1/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch'
sidekiq-6.2.1/lib/sidekiq/processor.rb:257:in `stats'
sidekiq-6.2.1/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch'
sidekiq-6.2.1/lib/sidekiq/job_logger.rb:13:in `call'
sidekiq-6.2.1/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch'
sidekiq-6.2.1/lib/sidekiq/job_retry.rb:79:in `global'
sidekiq-6.2.1/lib/sidekiq/processor.rb:124:in `block in dispatch'
sidekiq-6.2.1/lib/sidekiq/logger.rb:11:in `with'
sidekiq-6.2.1/lib/sidekiq/job_logger.rb:33:in `prepare'
sidekiq-6.2.1/lib/sidekiq/processor.rb:123:in `dispatch'
sidekiq-6.2.1/lib/sidekiq/processor.rb:162:in `process'
sidekiq-6.2.1/lib/sidekiq/processor.rb:78:in `process_one'
sidekiq-6.2.1/lib/sidekiq/processor.rb:68:in `run'
sidekiq-6.2.1/lib/sidekiq/util.rb:43:in `watchdog'
sidekiq-6.2.1/lib/sidekiq/util.rb:52:in `block in safe_thread'

¿Realizaste una reconstrucción después de hacer ese cambio?

Cualquier cambio realizado en app.yml requiere una reconstrucción para surtir efecto.

Sí… siempre lo hago… esto consume demasiado tiempo como para dedicar tiempo a corregir errores.

Parece que o bien tu contraseña es incorrecta o tu proveedor de correo está denegando el servicio.

Deberías poder ahorrar algo de tiempo al cambiar la contraseña de SMTP ejecutando:

./launcher destroy app; ./launcher start app

Creo que esto funciona para cambios en la configuración de SMTP, pero no para todas las configuraciones.

Sí, por eso pienso lo mismo… pero lo he probado todo… no logré solucionarlo.

Esta es mi sección ENV del archivo app.yml en este momento:

env:
  LANG: en_US.UTF-8
  # DISCOURSE_DEFAULT_LOCALE: en

  ## ¿Cuántas solicitudes web simultáneas se admiten? Depende de la memoria y los núcleos de la CPU.
  ## se establecerá automáticamente durante el arranque según los CPUs detectados, o puedes sobrescribirlo
  UNICORN_WORKERS: 2

  ## TODO: El nombre de dominio al que responderá esta instancia de Discourse
  ## Obligatorio. Discourse no funcionará con una dirección IP sin nombre de dominio.
  DISCOURSE_HOSTNAME: forum.bgh-hamburg.de

  ## Descomenta si quieres que el contenedor se inicie con el mismo
  ## nombre de dominio (opción -h) que el especificado arriba (por defecto "$hostname-$config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO: Lista de correos electrónicos separados por comas que serán administradores y desarrolladores
  ## en el registro inicial, ejemplo 'usuario1@ejemplo.com,usuario2@ejemplo.com'
  #DISCOURSE_DEVELOPER_EMAILS: 'bgh@forum.bgh-hamburg.de'

  ## TODO: El servidor de correo SMTP utilizado para validar nuevas cuentas y enviar notificaciones
  # La dirección, el nombre de usuario y la contraseña de SMTP son obligatorios
  # ¡ADVERTENCIA: el carácter '#' en la contraseña de SMTP puede causar problemas!

  #DISCOURSE_SMTP_AUTHENTICATION: login
  DISCOURSE_SMTP_ADDRESS: forum.bgh-hamburg.de
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: bgh@forum.bgh-hamburg.de
  DISCOURSE_SMTP_PASSWORD: sdfoksdfpokasdpkopasdkfdfj
  #DISCOURSE_SMTP_DOMAIN: desde.uberspace.de
  #DISCOURSE_SMTP_ENABLE_START_TLS: true
  #DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none

Las líneas comentadas con # son cosas que ya intenté… pero simplemente no funciona. Puedo iniciar sesión, recibir y enviar correos sin ningún problema con mi aplicación Mail.app usando esas credenciales (las cambié un poco para que no funcionen si intentas usarlas) y también intenté conectarme mediante telnet por el puerto 587 desde el host; funciona como se espera… pero aún así hay algo mal en mi app.yml… no logro averiguar qué es…

Por cierto… mi mensaje de error en /logs ha cambiado a:

Job exception: -ERR [AUTH] Authentication failed.

o

Puede que me equivoque, pero parece que tendría más sentido tener:

SMTP ADDRESS desde.uberspace.de
SMTP DOMAIN, el dominio de tu foro

Supongo que uberspace es el proveedor de correo; por lo general, en esta primera configuración utilizamos el dominio SMTP del proveedor de correo electrónico.

¡Muchas gracias! ¡Eso lo solucionó!