Chat-Zusammenfassung Überspringen Fehler

Chat-Zusammenfassungs-E-Mails werden für Benutzer mit einer gültigen E-Mail übersprungen:

image

Ich habe einige Analysen durchgeführt und glaube, den Grund zu kennen:

Hier ist letztendlich, wo das Überspringen passiert:

Dies liegt daran, dass message.to leer ist.

message.to ist leer, da die an send_user_email gesendeten Argumente keine to_address enthalten und dies nie mit der primären E-Mail des Benutzers angereichert wird, z. B.:

args: {"type"=>"chat_summary", "user_id"=>3, "force_respect_seen_recently"=>true, "current_site_id"=>"default"}

Dies wird vom Chat Mailer aufgerufen, und Sie werden feststellen, dass to_address fehlt:

und das ist vielleicht in Ordnung, aber bis Sie oben in send_user_email ankommen, glaube ich, dass to_address mit der E-Mail des Benutzers angereichert werden sollte, damit der E-Mail-Versender beim Weiterleiten Zugriff auf diese Eigenschaft erhält und der E-Mail-Versand erfolgreich ist.

Als ich diesen kleinen Monkey-Patch zu send_user_email hinzufügte, verschwand das Problem:

      # CORE BUG: if we don't set to_address, ultimately the email won't send and will be skipped.
      # This is a core bug and we will need to raise it on Meta.
      if args[:to_address].blank? && user&.primary_email&.email
        args[:to_address] = user&.primary_email&.email
      end
2 „Gefällt mir“

Vielen Dank für das Debugging @merefield, wir werden sicherstellen, dass sich das Mitglied xp bald darum kümmert.

2 „Gefällt mir“

Ich habe mich ein wenig damit beschäftigt, und wenn wir der Spur folgen, sollte es eine Anreicherung geben:

Es beginnt mit dem E-Mail-Versender hier und dann ruft es die Benutzerbenachrichtigungserweiterung hier auf, die mit der Benutzer-E-Mail hier angereichert wird und sie dann an den E-Mail-Hilfshelfer hier weitergibt und schließlich die Adresse im Nachrichten-Builder hier festlegt, bevor er sie sendet.

Abgesehen davon funktioniert die Chat-Zusammenfassungs-E-Mail bereits auf anderen Websites, daher gibt es hier wahrscheinlich ein anderes Problem.

Ich denke, eine Zwischenlösung besteht darin, die Benutzer-E-Mail an den Job zu übergeben, was uns von Anfang an mehr Vertrauen/Sichtbarkeit gibt, dass die richtigen Daten vorhanden sind:

3 „Gefällt mir“

Schließen, da wir kein Feedback zur Korrektur erhalten haben