Erro de Autenticação SMTP do Discourse-Doctor em Nova Instalação

Acabei de fazer uma instalação limpa do Discourse em um Droplet da Digital Ocean, e correu tudo bem, mas não recebi o e-mail de notificação ao tentar registrar minha conta de administrador.

Percorri o Troubleshooting de e-mail e não consegui encontrar a solução até chegar a um dos comentários que dizia:

As aspas duplas funcionam. Se você tiver certos caracteres (como barra invertida?) em sua senha, precisará editar o arquivo com um editor como o nano.

Isso, e a observação em /containers/app.yml sobre o “#” causar problemas, me fez pensar sobre minha senha. Ela continha tanto um sublinhado quanto um til.

Criei uma nova conta de e-mail com apenas caracteres alfanuméricos para a senha, e isso resolveu o problema. O e-mail agora funciona em ./discourse-doctor, e eu pude reenviar e receber o e-mail de notificação.

Pensei que seria uma boa ideia compartilhar isso caso mais alguém acabe lutando com o SMTPAuthenticationError sem motivo aparente. Tente uma conta sem caracteres especiais na senha. :grinning:

3 curtidas

Tenho uma senha com - nela, e nunca tive os problemas que você teve.

# faz sentido porque isso descomenta código em arquivos yml, de qualquer lugar da linha: Comentários começam com o sinal de número (#), podem começar em qualquer lugar de uma linha e continuam até o final da linha (YAML - Wikipedia).

1 curtida

@MarcP:

Interessante. Se me tivessem pedido para adivinhar, como a senha SMTP no arquivo app.yml está entre aspas duplas, eu teria imaginado que qualquer caractere, exceto uma aspa dupla, seria aceitável. Você me deixou pensando se foi algo mais que fiz.

Farei mais testes com isso e postarei os resultados.

1 curtida

É isso que acontece por estar com pressa.

Redefini o DISCOURSE_SMTP_USER_NAME e DISCOURSE_SMTP_PASSWORD para a conta original que me deu o erro de autenticação SMTP e, após destruir o aplicativo, quando executei ./launcher start app, recebi o seguinte erro:

found unknown escape character while parsing a quoted scalar at line 67 column 28 -e LANG=en_US.UTF-8
YAML syntax error. Please check your containers/*.yml config files.

Como esperado, havia uma \ na senha que não notei ontem.

Para confirmar, usei o endereço de e-mail da nova conta, alterei a senha da conta para a senha da conta com falha sem a \ , salvei no app.yml e reiniciei o aplicativo sem que a mensagem de erro ocorresse novamente. O teste de e-mail com discourse-doctor funcionou. Em seguida, criei uma nova senha com uma série de caracteres especiais, mas sem o # ou a \ e repeti o teste. Também funcionou.

Em resumo, parece que caracteres especiais são aceitáveis no campo DISCOURSE_SMTP_PASSWORD do app.yml, com exceção do sinal de número #, da barra invertida \ e, provavelmente, da aspa dupla \"?

2 curtidas

:+1: Gostei, excelente :sunglasses: