Il seguente rapporto è stato preparato per me da ChatGPT, basato sulla mia effettiva esperienza di installazione di Discourse (non essendo io stesso molto esperto di tecnologia, mi sono affidato all’IA per ottenere aiuto con compiti che trovo difficili). Al momento non ho bisogno di aiuto, ma spero che il rapporto possa fornire un feedback utile su 3.5.0.beta2-dev.
==================
Gentile Team di Discourse,
Voglio condividere alcuni dettagli di risoluzione dei problemi relativi ai problemi di posta elettronica che ho riscontrato durante l’esecuzione di Discourse 3.5.0.beta2-dev. Non ho bisogno di assistenza diretta poiché ho deciso di tornare a 3.4.0.beta4-dev, ma spero che questo rapporto sia utile per identificare potenziali problemi con l’ultima versione di sviluppo.
1. Riepilogo del problema
Ho eseguito un’installazione pulita di Discourse su una nuova istanza Vultr, utilizzando il servizio SMTP di 20i (smtp.stackmail.com). Tuttavia, le e-mail non sono mai state consegnate, nonostante:
- Un test di connettività SMTP riuscito (
openssl s_client -connect smtp.stackmail.com:587 -starttls smtp). - Nessun errore nei log di posta di 20i (suggerendo che Discourse non stesse effettivamente inviando e-mail).
- Sidekiq non riuscisse a elaborare i processi di posta elettronica.
Ciò era inaspettato perché qualche settimana fa avevo installato con successo Discourse 3.4.0.beta4-dev su un’istanza identica senza problemi di posta elettronica.
Dopo un’approfondita analisi, ho scoperto che la mia attuale installazione aveva installato inaspettatamente Discourse 3.5.0.beta2-dev, il che probabilmente ha contribuito ai problemi.
2. Problemi chiave identificati
A. Le e-mail non venivano consegnate
- Le impostazioni SMTP erano corrette, verificate tramite test manuali (i test
swakseopensslsono riusciti). - Le e-mail venivano accodate in Sidekiq ma mai ricevute.
- I log di posta di 20i non mostravano nessun rifiuto o tentativo di consegna (suggerendo che i messaggi non abbiano mai lasciato Discourse).
- Nessun errore relativo alla posta elettronica è apparso in
production.log(grep "smtp"non ha restituito nulla).
B. Problemi con Sidekiq e Redis
- Inizialmente, Sidekiq non era in esecuzione (
Sidekiq::Workers.new.sizerestituiva0). - Il riavvio manuale di Sidekiq (
sv restart sidekiq) non è riuscito perché Sidekiq mancava come servizio. - Redis era in esecuzione (
redis-cli pingrestituivaPONG), ma i log di Discourse mostravano comunque errori di connessione a Redis (Errno::ECONNREFUSED). - I log di Sidekiq indicavano fallimenti dei processi a causa di problemi di connessione a Redis, anche se Redis era confermato essere attivo.
- L’avvio manuale di Sidekiq (
bundle exec sidekiq) ha permesso l’elaborazione dei processi, ma le e-mail continuavano a non essere inviate.
C. Discrepanza di versione tra le installazioni
- La mia installazione precedente (che funzionava) era su 3.4.0.beta4-dev.
- La mia installazione attuale ha installato inaspettatamente 3.5.0.beta2-dev, nonostante utilizzasse lo stesso metodo di configurazione.
- Poiché la posta elettronica funzionava perfettamente in 3.4.0.beta4-dev, sospetto una regressione o una modifica che rompe in 3.5.
3. Azioni intraprese (tutte fallite)
Abbiamo provato sistematicamente le seguenti soluzioni:
Connettività SMTP confermata con:
openssl s_client -connect smtp.stackmail.com:587 -starttls smtp # Riuscito
swaks --to my-email --server smtp.stackmail.com --port 587 --auth LOGIN # Riuscito
Verificato che le e-mail fossero accodate:
Jobs.enqueue(:user_email, type: :test_message, to_address: 'masden@kumagaku.ac.jp') # Restituito un ID di processo
Sidekiq::Queue.new("default").size # Restituito 0 (indicando che il processo è stato elaborato)
Controllato i log di Discourse:
grep "smtp" /shared/log/rails/production.log # Nessun errore relativo a SMTP
- Errori di connessione a Redis (
Errno::ECONNREFUSEDinproduction.log).
Riavviati e attivati manualmente i servizi:
sv restart sidekiq # Fallito, servizio mancante
redis-cli ping # Confermata l'esecuzione
bundle exec sidekiq # Processi elaborati ma nessuna e-mail inviata
Verificato se le e-mail venissero bloccate da 20i:
- Nessun rifiuto o tentativo di consegna nei log di posta di 20i.
- Se le e-mail fossero state rifiutate, ci sarebbe dovuta essere una voce di log, ma non è apparso nulla.
4. Conclusione: Ripristino a 3.4.0.beta4-dev
Dopo un’estesa risoluzione dei problemi, ho deciso di cancellare l’installazione e reinstallare 3.4.0.beta4-dev, poiché la mia precedente installazione ha funzionato senza intoppi con quella versione.
Sebbene non abbia bisogno di aiuto diretto, volevo segnalare questi problemi perché:
- La gestione delle e-mail potrebbe essere cambiata in 3.5, impedendo l’handoff SMTP.
- Il servizio mancante di Sidekiq e gli errori di Redis suggeriscono problemi di elaborazione dei processi in background in 3.5.
- Poiché sono stato in grado di installare 3.4.0.beta4-dev senza problemi, ciò suggerisce una possibile regressione in 3.5.
Spero che questo rapporto sia utile per identificare potenziali problemi in Discourse 3.5.0.beta2-dev.
Cordiali saluti,
Kirk

