Come visualizzare il dettaglio completo del log senza troncamenti

Improvvisamente tutte le mie email vengono respinte. Ho bisogno di vedere i dettagli completi del log. La visualizzazione in Discourse è troncata con un punto di sospensione. Come posso vedere l’intera voce? È urgente per risolvere il problema.

Reporting-MTA: dsn; a27-22.smtp-out.us-west-2.amazonses.com

Action: failed
Final-Recipient: rfc822; keith.jones@du.edu
Diagnostic-Code: smtp; 554 Bloccato - vedi https://ipcheck.proofpoint.com/?ip=54.240.27.22
Sta…

È necessario visualizzare i log del tuo server di posta. Sembra che Discorse stia inviando la posta, ma che il server di posta non intenda recapitarla.

Sono perso qui. Uso Amazon SES per la posta. Ho effettuato l’accesso a bash nel contenitore, ma non so dove trovare i log di posta di Discourse. Non riesco a vedere nulla di rilevante in /var/log. Scusa per la mia totale ignoranza. Sono riuscito almeno a vedere i log all’URL /logs di Discourse, ma perché non riesco a trovarli sul disco? Sono in un database?

Ciao @Andro

In Discourse, Rails Action Mailer invia la posta dopo essere stata schedulata come un lavoro Sidekiq.

Normalmente, alcuni errori di eccezione dei lavori vengono registrati nel log di produzione di Rails, ad esempio.

linux# docker exec -it your-app bash
your-app:/# cd /shared/log/rails


your-app:/shared/log/rails# grep -i SMTP *

production.log-20201215:Job exception: 454 4.7.0 Cannot authenticate due to temporary system problem. Try again later. m7sm3825233oou.11 - gsmtp

production.log-20201215:Job exception: 454 4.7.0 Cannot authenticate due to temporary system problem. Try again later. 63sm3561399otx.2 - gsmtp

production.log-20201215:Job exception: 454 4.7.0 Cannot authenticate due to temporary system problem. Try again later. z63sm4258403otb.20 - gsmtp

production.log-20201215:Job exception: 454 4.7.0 Cannot authenticate due to temporary system problem. Try again later. q18sm3815880ood.35 - gsmtp

production.log-20201215:Job exception: 454 4.7.0 Cannot authenticate due to temporary system problem. Try again later. h2sm4265076otn.15 - gsmtp

production.log-20201215:Job exception: 454 4.7.0 Cannot authenticate due to temporary system problem. Try again later. y84sm4346372oig.36 - gsmtp

production.log-20201215:Job exception: 454 4.7.0 Cannot authenticate due to temporary system problem. Try again later. 8sm4343514oii.45 - gsmtp

production.log-20201215:Job exception: 454 4.7.0 Cannot authenticate due to temporary system problem. Try again later. t18sm722516otc.64 - gsmtp

production.log-20201215:Job exception: 454 4.7.0 Cannot authenticate due to temporary system problem. Try again later. j22sm1840062otp.45 - gsmtp

Quindi, potresti essere in grado di trovare alcuni indizi nel tuo log di produzione di Rails, come illustrato sopra.

Un saluto e spero che questo ti sia utile.

PS: Un’altra piccola cosa da controllare, anche se forse non utile nel tuo caso d’uso, è eseguire dalla console di Rails:

EmailLog.where(bounced:true).count

o ancora più semplicemente:

EmailLog.bounced.count

Inoltre, ho dimenticato di menzionare che puoi configurare Rails per registrare più informazioni sul mailer se hai bisogno di più log:

Sono disponibili diverse impostazioni su config.action_mailer:

config.action_mailer.logger accetta un logger conforme all’interfaccia di Log4r o alla classe Logger predefinita di Ruby, che viene poi utilizzata per registrare le informazioni da Action Mailer. Imposta su nil per disabilitare la registrazione.

In Discourse, OOTB, questo è impostato su nil, quindi non viene registrata alcuna informazione:

[5] pry(main)> Rails.application.config.action_mailer.logger
=> nil

Vedi, ad esempio, la sezione 3.10 Configurazione di Action Mailer

Il problema è che stiamo utilizzando Amazon Simple Email Service (SES) e non riesco a trovare alcun modo per visualizzare i log lì. Credo che i log non siano semplicemente disponibili come parte del servizio.

Ciao @neounix, grazie mille. Riesco a vedere i dettagli completi dell’email nei file production.log datati. Posso vedere l’intera risposta da Amazon SES. È esattamente ciò di cui ho bisogno. Molto utile. Molto apprezzato.

Gentile @Andro,

Prego. Sono felice di essere riuscito ad aiutarti a individuare la causa del tuo problema.

Buone feste e avanti così!