Autenticação de e-mail Zoho não funciona com Discourse

Instalei o Discourse no AWS Lightsail com Ubuntu 18.04 LTS. A autenticação do e-mail Zoho não está funcionando com o Discourse. Ao mesmo tempo, está funcionando bem com a autenticação do Mailgun. Por favor, ajude-me a resolver esse problema.

Como posso obter logs de geração de e-mail e relacionados do servidor?

1 curtida

Olá @iackrishitech, bem-vindo ao meta.

Pode nos fornecer suas configurações de SMTP no arquivo app.yml (remova a senha)?

3 curtidas

Também tentei com e sem TLS.

Onde obtemos o log de conexão para isso?

Obrigado,
Kumar P

1 curtida

Você tem a autenticação de dois fatores (2FA) ativada em alguma das suas contas de e-mail?

Se sim, você criou uma senha de aplicativo para o Discourse?

1 curtida

Sou o líder de @iackrishitech e gostaria de adicionar algumas informações aqui. Não temos o 2FA habilitado; temos certeza disso porque possuímos outra configuração SMTP do Zoho (outro Zoho Mail) em outro servidor web, que está funcionando bem até agora.

Vou deixar @iackrishitech responder sobre a senha de aplicativo, já que ele configurou este servidor.

Percebi que as tarefas de e-mail falham no painel administrativo. Quando verifico o Sidekiq, encontro isso:

  1. Esse “Wrapped EOFError” pode ser a causa da nossa falha? Se sim, por que funciona no caso do Mailgun, mas não no Zoho? Isso acontece consistentemente toda vez que tento uma ação que exigiria o envio de um e-mail do Discourse para outro e-mail meu.

Abaixo está o rastreamento de erros que consegui obter (não consegui anexar o arquivo por ser um novo usuário):

Mensagem

Exceção da tarefa: fim de arquivo atingido


Rastreamento

/usr/local/lib/ruby/2.6.0/net/protocol.rb:225:in `rbuf_fill'
/usr/local/lib/ruby/2.6.0/net/protocol.rb:191:in `readuntil'
/usr/local/lib/ruby/2.6.0/net/protocol.rb:201:in `readline'
/usr/local/lib/ruby/2.6.0/net/smtp.rb:950:in `recv_response'
/usr/local/lib/ruby/2.6.0/net/smtp.rb:935:in `block in getok'
/usr/local/lib/ruby/2.6.0/net/smtp.rb:960:in `critical'
/usr/local/lib/ruby/2.6.0/net/smtp.rb:933:in `getok'
/usr/local/lib/ruby/2.6.0/net/smtp.rb:919:in `quit'
/usr/local/lib/ruby/2.6.0/net/smtp.rb:612:in `do_finish'
/usr/local/lib/ruby/2.6.0/net/smtp.rb:521:in `ensure in start'
/usr/local/lib/ruby/2.6.0/net/smtp.rb:521:in `start'
mail-2.7.1/lib/mail/network/delivery_methods/smtp.rb:109:in `start_smtp_session'
mail-2.7.1/lib/mail/network/delivery_methods/smtp.rb:100:in `deliver!'
mail-2.7.1/lib/mail/message.rb:2159:in `do_delivery'
mail-2.7.1/lib/mail/message.rb:260:in `block in deliver'
actionmailer-6.0.3.3/lib/action_mailer/base.rb:589:in `block in deliver_mail'
activesupport-6.0.3.3/lib/active_support/notifications.rb:180:in `block in instrument'
activesupport-6.0.3.3/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
activesupport-6.0.3.3/lib/active_support/notifications.rb:180:in `instrument'
actionmailer-6.0.3.3/lib/action_mailer/base.rb:587:in `deliver_mail'
mail-2.7.1/lib/mail/message.rb:260:in `deliver'
actionmailer-6.0.3.3/lib/action_mailer/message_delivery.rb:115:in `block in deliver_now'
actionmailer-6.0.3.3/lib/action_mailer/rescuable.rb:17:in `handle_exceptions'
actionmailer-6.0.3.3/lib/action_mailer/message_delivery.rb:114:in `deliver_now'
/var/www/discourse/lib/email/sender.rb:226:in `send'
/var/www/discourse/app/jobs/regular/user_email.rb:61:in `execute'
/var/www/discourse/app/jobs/regular/critical_user_email.rb:15:in `execute'
/var/www/discourse/app/jobs/base.rb:232:in `block (2 levels) in perform'
rails_multisite-2.4.0/lib/rails_multisite/connection_management.rb:76: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.1.2/lib/sidekiq/processor.rb:196:in `execute_job'
sidekiq-6.1.2/lib/sidekiq/processor.rb:164:in `block (2 levels) in process'
sidekiq-6.1.2/lib/sidekiq/middleware/chain.rb:138:in `block in invoke'
/var/www/discourse/lib/sidekiq/pausable.rb:138:in `call'
sidekiq-6.1.2/lib/sidekiq/middleware/chain.rb:140:in `block in invoke'
sidekiq-6.1.2/lib/sidekiq/middleware/chain.rb:143:in `invoke'
sidekiq-6.1.2/lib/sidekiq/processor.rb:163:in `block in process'
sidekiq-6.1.2/lib/sidekiq/processor.rb:136:in `block (6 levels) in dispatch'
sidekiq-6.1.2/lib/sidekiq/job_retry.rb:111:in `local'
sidekiq-6.1.2/lib/sidekiq/processor.rb:135:in `block (5 levels) in dispatch'
sidekiq-6.1.2/lib/sidekiq.rb:38:in `block in <module:Sidekiq>'
sidekiq-6.1.2/lib/sidekiq/processor.rb:131:in `block (4 levels) in dispatch'
sidekiq-6.1.2/lib/sidekiq/processor.rb:257:in `stats'
sidekiq-6.1.2/lib/sidekiq/processor.rb:126:in `block (3 levels) in dispatch'
sidekiq-6.1.2/lib/sidekiq/job_logger.rb:13:in `call'
sidekiq-6.1.2/lib/sidekiq/processor.rb:125:in `block (2 levels) in dispatch'
sidekiq-6.1.2/lib/sidekiq/job_retry.rb:78:in `global'
sidekiq-6.1.2/lib/sidekiq/processor.rb:124:in `block in dispatch'
sidekiq-6.1.2/lib/sidekiq/logger.rb:10:in `with'
sidekiq-6.1.2/lib/sidekiq/job_logger.rb:33:in `prepare'
sidekiq-6.1.2/lib/sidekiq/processor.rb:123:in `dispatch'
sidekiq-6.1.2/lib/sidekiq/processor.rb:162:in `process'
sidekiq-6.1.2/lib/sidekiq/processor.rb:78:in `process_one'
sidekiq-6.1.2/lib/sidekiq/processor.rb:68:in `run'
sidekiq-6.1.2/lib/sidekiq/util.rb:15:in `watchdog'
sidekiq-6.1.2/lib/sidekiq/util.rb:24:in `block in safe_thread'

Este é um ponto de bloqueio crítico para nós, então, por favor, ajudem. (Não consegui adicionar mais capturas de tela devido à limitação de novo usuário, espero que isso tenha sido útil).

Obrigado pela resposta, Gavin.

A autenticação de dois fatores (2FA) não está habilitada para esta conta. No entanto, tentei criar uma senha de aplicativo para a conta, aplicá-la no arquivo app.yml e recriar o projeto. Ainda assim, não recebemos o e-mail.

Onde podemos encontrar logs específicos sobre autenticação SMTP?
Como verificar se a autenticação do e-mail (Zoho) foi bem-sucedida ou não?

Que tipo de informações (como logs) devemos fornecer à equipe de suporte do Zoho, caso eles possam verificar em seus registros?

Obrigado,
Kumar P

Olá Gavin,

Fiz as seguintes alterações:

  1. Ativei a senha de aplicativo do Zoho e a utilizei no arquivo App.yml do Discourse.
  2. Ativei o TLS como true; a porta deve ser 587.
  3. Adicionei a seguinte linha no App.yml e especifiquei o e-mail de autenticação:
  • exec: rails r “SiteSetting.notification_email=‘forum@iackrishitech.com’”

Agora, a funcionalidade de e-mail está funcionando corretamente.

Muito obrigado por mencionar as senhas de aplicativo no Zoho.

Agradeço imensamente pelos detalhes, @Paari_Vendhan.

Obrigado,
Kumar P

2 curtidas

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