Ich untersuche einige Beiträge, bei denen nach dem Import von E-Mails aus einer Mailingliste Inhalte fehlen. Einige E-Mails umschließen Überschriften oder Abschnitte mit Zeilen, die aus “~~~~~~~~~~~~~~~~” bestehen, und das erste Vorkommen einer solchen Zeile allein sowie alles, was darunter steht, wird aus dem Discourse-Beitrag entfernt.
Beim Prüfen der E-Mail im Beitrag sehe ich die ursprüngliche base64-kodierte E-Mail. Wenn ich zum Tab „Text“ wechsle, kann ich sehen, dass diese ohne Weglassungen decodiert wurde.
./launcher enter app
rails c
Post.find_by(id: 154678)
=> #<Post:0x000055b8da925e08
...
Über Rails erkenne ich, dass die Spalte raw unmittelbar vor dem ersten “~~~~~~~~~~~~~~~~” abbricht, und die Spalte cooked enthält offensichtlich denselben Inhalt wie raw, jedoch für HTML aufbereitet. Ich habe versucht, einige Einstellungen zum Abschneiden von E-Mails zu ändern, bin mir aber unsicher, wie ich testen kann, ob diese einen Unterschied bewirken.
Meines Wissens nach nimmt „HTML neu aufbauen“ beim Beitrag oder der Befehl Post.find_by(id: 154678).rebake! in Rails den Inhalt von raw und erstellt daraus HTML, wobei cooked gesetzt wird. Ich weiß jedoch nicht, ob dabei der Inhalt von raw_email erneut verarbeitet wird, sodass ich unsicher bin, wie ich testen kann, ob die geänderten Einstellungen wirken.
Wie kann ich Discourse anweisen, raw_email des Beitrags neu zu verarbeiten, falls rebake! dies nicht tut, damit ich sicher sein kann, dass ich die Fehlerbehebung korrekt durchführe?
Falls Sie Gedanken dazu haben, wie man verhindern kann, dass Inhalte weggelassen werden, sind diese natürlich ebenfalls willkommen.