Comment voir le détail complet du journal sans troncature

Soudain, tous mes e-mails sont renvoyés. J’ai besoin d’accéder aux détails complets du journal. La vue dans Discourse est tronquée avec des points de suspension. Comment puis-je voir l’entrée entière ? C’est urgent pour résoudre ce problème.

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 Bloqué - voir https://ipcheck.proofpoint.com/?ip=54.240.27.22
Sta…

Vous devez consulter les journaux de votre serveur de messagerie. Il semble que Discourse envoie bien les courriels, mais que le serveur de messagerie refuse de les livrer.

Je suis perdu ici. J’utilise Amazon SES pour l’envoi d’e-mails. Connecté en bash dans le conteneur, je ne sais pas où trouver les journaux de Discourse relatifs aux e-mails. Je ne parviens à rien voir de pertinent dans /var/log. Toutes mes excuses pour cette ignorance totale. J’ai pu au moins consulter les journaux via l’URL /logs de Discourse, mais pourquoi ne puis-je pas les retrouver sur le disque ? Sont-ils stockés dans une base de données ?

Bonjour @Andro,

Dans Discourse, Rails Action Mailer envoie les e-mails après qu’ils aient été planifiés comme une tâche Sidekiq.

Normalement, certaines erreurs d’exception de tâche sont consignées dans le journal de production de Rails, par exemple.

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

Ainsi, vous devriez pouvoir trouver quelques indices dans votre journal de production Rails, comme illustré ci-dessus.

Salutations et j’espère que cela vous aidera.

PS : Une autre petite chose à vérifier, qui peut-être ne sera pas utile dans votre cas, est d’exécuter depuis la console Rails :

EmailLog.where(bounced:true).count

ou encore plus simplement :

EmailLog.bounced.count

De plus, j’ai oublié de mentionner que vous pouvez configurer Rails pour qu’il consigne davantage d’informations sur les courriers si vous avez besoin de plus de logs :

Plusieurs paramètres sont disponibles dans config.action_mailer :

config.action_mailer.logger accepte un journal conforme à l’interface de Log4r ou à la classe Logger par défaut de Ruby, qui est ensuite utilisée pour consigner les informations provenant d’Action Mailer. Définissez-le sur nil pour désactiver la journalisation.

Par défaut dans Discourse, cela est défini sur nil, ce qui signifie qu’aucune journalisation n’est effectuée :

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

Voir, par exemple, la section 3.10 Configuration d'Action Mailer

Le problème est que nous utilisons Amazon Simple Email Service (SES) et je ne parviens pas à trouver de moyen d’y consulter les journaux. Je pense que les journaux ne sont tout simplement pas disponibles dans le cadre de ce service.

Bonjour @neounix, merci beaucoup. Je peux voir les détails complets des e-mails dans les fichiers production.log datés. Je vois la réponse complète d’Amazon SES. C’est exactement ce dont j’ai besoin. Très utile. Je vous en suis très reconnaissant.

Cher @Andro,

C’est avec plaisir. Je suis ravi d’avoir pu vous aider à trouver la source de votre problème.

Bonnes fêtes de fin d’année et toujours vers le haut et l’avant !