Wie man die vollständige Protokolldetailansicht sieht, nicht gekürzt

Plötzlich werden alle meine E-Mails zurückgewiesen. Ich benötige die vollständigen Log-Details. Die Ansicht in Discourse wird mit einer Auslassungsstelle abgeschnitten. Wie kann ich den gesamten Eintrag einsehen? Dies wird dringend benötigt, um das Problem zu lösen.

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

Sie müssen die Protokolle Ihres Mail-Servers einsehen. Es sieht so aus, als würde Discourse die E-Mails zwar versenden, aber der Mail-Server möchte sie nicht zustellen.

1 „Gefällt mir“

Ich bin hier völlig verloren. Ich verwende Amazon SES für E-Mails. Nach dem Einloggen in die Bash des Containers weiß ich nicht, wo ich die Discourse-Logs für E-Mails finde. In /var/log kann ich nichts Relevantes sehen. Entschuldigung, dass ich so ahnungslos bin. Ich konnte die Logs zumindest unter der URL /logs für Discourse einsehen, aber warum finde ich sie nicht auf der Festplatte? Liegen sie in einer Datenbank?

Hallo @Andro,

In Discourse wird die E-Mail von Rails Action Mailer gesendet, nachdem sie als Sidekiq-Job geplant wurde.

Normalerweise werden einige Job-Ausnahme-Fehler im Rails-Produktionsprotokoll protokolliert, zum Beispiel:

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

Daher können Sie möglicherweise einige Hinweise in Ihrem Rails-Produktionsprotokoll finden, wie oben gezeigt.

Viele Grüße und ich hoffe, das hilft.

PS: Eine weitere kleine Sache, die Sie überprüfen können (vielleicht aber in Ihrem Anwendungsfall nicht nützlich ist), ist die Ausführung aus der Rails-Konsole:

EmailLog.where(bounced:true).count

oder noch einfacher:

EmailLog.bounced.count

Außerdem habe ich vergessen zu erwähnen, dass Sie Rails so konfigurieren können, dass es mehr Informationen zu Mailern protokolliert, falls Sie mehr Protokollierung benötigen:

Es gibt mehrere Einstellungen in config.action_mailer:

config.action_mailer.logger akzeptiert einen Logger, der der Schnittstelle von Log4r oder der Standard-Ruby-Logger-Klasse entspricht, der dann verwendet wird, um Informationen von Action Mailer zu protokollieren. Setzen Sie ihn auf nil, um die Protokollierung zu deaktivieren.

In Discourse ist dies OOTB (Out of the Box) auf nil gesetzt, also wird nicht protokolliert:

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

Siehe beispielsweise Abschnitt 3.10 Konfigurieren von Action Mailer

1 „Gefällt mir“

Das Problem ist, dass wir Amazon Simple Email Service (SES) verwenden und ich keine Möglichkeit finde, dort Protokolle einzusehen. Ich vermute, dass Protokolle als Teil des Dienstes einfach nicht verfügbar sind.

Hallo @neounix, vielen Dank. Ich kann die vollständigen E-Mail-Details in den dated production.log-Dateien einsehen. Ich sehe die vollständige Antwort von Amazon SES. Das ist genau das, was ich brauche. Sehr hilfreich. Herzlichen Dank.

2 „Gefällt mir“

Lieber @Andro,

Gern geschehen. Ich freue mich, dass ich dir helfen konnte, der Ursache deines Problems auf den Grund zu gehen.

Frohe Feiertage und immer voran und nach oben!

1 „Gefällt mir“