Autenticazione email Zoho non funzionante con discourse

Ho installato Discourse su AWS Lightsail con Ubuntu 18.04 LTS. L’autenticazione via email di Zoho non funziona con Discourse. Nel frattempo, l’autenticazione tramite Mailgun funziona correttamente. Vi chiedo gentilmente di aiutarmi a risolvere questo problema.

Come posso ottenere i log di generazione email e quelli correlati dal server?

Ciao @iackrishitech, benvenuto su meta.

Potresti fornirci le tue impostazioni SMTP nel file app.yml (rimuovi la password)?

Ho anche provato con e senza TLS.

Dove possiamo ottenere il registro delle connessioni per questo?

Grazie,
Kumar P

Hai l’autenticazione a due fattori attiva su uno dei tuoi account email?

In tal caso, hai creato una password per l’applicazione per Discourse?

Sono il responsabile di @iackrishitech e vorrei aggiungere alcune informazioni qui. Non abbiamo il 2FA abilitato; ne siamo certi perché abbiamo un’altra configurazione SMTP Zoho (un’altra casella Zoho Mail) per un altro server web, che finora funziona correttamente.

Lascio a @iackrishitech la risposta riguardo alla password dell’app, dato che è lui che ha configurato questo server.

Ho notato che le attività di posta falliscono nel pannello di amministrazione. Quando controllo Sidekiq, trovo questo:

  1. Questo “Wrapped EOFError” potrebbe essere la causa del nostro problema? Se sì, come mai funziona con Mailgun ma non con Zoho? Questo accade ogni volta che provo a eseguire un’azione che richiede l’invio di una mail da Discourse a un’altra mia casella di posta.

Di seguito riporto il backtrace che sono riuscito a ottenere (non ho potuto allegare file perché sono un nuovo utente):

Messaggio

Eccezione del job: end of file reached

Backtrace

/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'

Questo è un punto di blocco critico per noi, quindi vi preghiamo gentilmente di aiutarci. (Non ho potuto aggiungere altri screenshot a causa delle limitazioni per i nuovi utenti, spero che questo sia stato utile).

Grazie per la risposta, Gavin.

Non è attiva l’autenticazione a due fattori (2FA) per questo account. Tuttavia, ho provato a creare una password per l’applicazione per l’account, l’ho inserita nel file app.yml e ho ricostruito l’applicazione. Tuttavia, non abbiamo ancora ricevuto l’email.

Dove possiamo trovare i log esatti relativi all’autenticazione SMTP?
Come possiamo verificare se l’autenticazione alla posta (Zoho) è andata a buon fine?

Quali informazioni (ad esempio i log) dobbiamo fornire al team di supporto di Zoho, nel caso in cui possano controllare i loro log?

Grazie,
Kumar P

Ciao Gavin,

Ho apportato le seguenti modifiche.

  1. Ho abilitato la password dell’app di Zoho e l’ho utilizzata nel file App.yml di Discourse.
  2. Ho abilitato TLS impostandolo su true; la porta deve essere 587.
  3. Ho abilitato la riga seguente in App.yml e specificato l’email di autenticazione.
  • exec: rails r “SiteSetting.notification_email=‘forum@iackrishitech.com’”

Ora la funzionalità di invio email funziona correttamente.

Grazie mille per aver menzionato le password dell’app su Zoho.

Grazie mille per i dettagli, @Paari_Vendhan

Grazie,
Kumar P