Update / Repro Steps (Discourse 3.6)
Ich habe dies mit der Rails-Konsole explizit reproduziert, um zu bestätigen, was auf Job-Ebene passiert. Hier ist, was wir für den betroffenen Benutzer sehen:
site: hvac
now: 2025-10-15 17:23:01 UTC
disable_emails: “no”
disable_digest_emails: false
default_email_digest_frequency_minutes: 10080
ENV_DISABLE_EMAILS: nil
perform_deliveries: nil
smtp_address: “smtp.netcorecloud.net”
smtp_port: 587
– USER –
id: 42122
username: milnerlarry
active: true
suspended: false
email_digests: true
digest_after_minutes: 10080
eligible_by_time: true
– LAST 15 EMAIL LOGS –
2025-10-01 | type=digest | bounced=false
2025-09-22 | type=digest | bounced=false
perform_deliveries_now: true
Wenn ich dann den Digest manuell erzwinge, denkt Discourse, dass es ihn erstellt, gibt aber Folgendes zurück:
mail = UserNotifications.digest(u)
=> Built digest mail: subject=nil bytes=50
Discourse denkt also, dass es den Digest erstellt, aber er ist tatsächlich leer (subject=nil) – und wird daher beim Ausführen des Jobs stillschweigend übersprungen. Es wird kein EmailLog-Eintrag erstellt und nichts gesendet.
Dies bestätigt:
-
Der Job wird erfolgreich eingereiht
-
SMTP und Zustellungen sind aktiviert
-
Der Digest-Job wird ohne Fehler beendet, da der Mailer einen leeren Digest zurückgibt
Das Ausführen des Jobs inline mit:
Jobs::UserEmail.new.execute(“type” => “digest”, “user_id” => u.id”)
liefert das gleiche Ergebnis – es wird keine neue EmailLog-Zeile erstellt.
Mögliche Ursache:
Es scheint, dass der Digest aufgrund einer Bedingung „leerer Digest“ übersprungen wird – vielleicht hat sich in Discourse 3.6 etwas daran geändert, wie Inhalte für die Aufnahme bewertet werden. Die Ansicht Admin → E-Mails → Digest-Test rendert den Digest korrekt, aber der Hintergrundjob sieht nichts, was enthalten werden soll.
Zusammenfassung:
Berechtigter Benutzer
Aktive E-Mail + gültiges SMTP
Admin Digest Test rendert ordnungsgemäß
Hintergrund-Digest-Job überspringt stillschweigend (leerer Digest)
Kein EmailLog oder Sendeversuch aufgezeichnet
Ich würde mich über eine Bestätigung vom Team freuen – gibt es möglicherweise eine Regression in der Art und Weise, wie UserNotifications.digest Inhalte in 3.6 sammelt?