Michael Uplawski
2024-08-16 08:45:27 UTC
Moin.
Meine Versuche eine multipart Mail in “parts” zu zerteilen scheitern
daran, dass ich unfähig bin eine korrekte “boundary” zu definieren.
Authentisches Beispiel.
In einer solchen Mail mit plain text und HTML part, finde ich eine
boundary
------=_Part_291375_1214917593.1717165035012
Mein code enthält das folgende Fragment:
body.split!("----=_Part_")
parts = body.parts
debug "first part: " << parts[0].to_s
Wichtig: Egal wie viele führende dashes ich im Argument liefere, das
Ergebnis bleibt dasselbe: der part[0] enthält stets den gesamten
Message-body mit allen parts, part[1] existiert nicht.
Mail::Body.split! wandelt intern das String-Argument in ein
Regexp-Objekt um und fügt selbst zwei dashes ein. Allerdings
verstehe ich nicht, wieso alle meine Versuche scheitern und in der
von der Methode gespeicherten boundary jedesmal zwei Dashes fehlen!
Authentische debug Ausgabe:
EmlFile debug 10:39:51:868805: first part: Content-Type: multipart/alternative;
| boundary="----=_Part_291375_1214917593.1717165035012"
|Content-Transfer-Encoding: 7bit
|
|
|------=_Part_291375_1214917593.1717165035012
|Content-Type: text/plain;
| charset=UTF-8
|Content-Transfer-Encoding: quoted-printable
| (…)
Ich bin rechtschaffen verloren.
Wochenende.
Cheerio
Michael
Meine Versuche eine multipart Mail in “parts” zu zerteilen scheitern
daran, dass ich unfähig bin eine korrekte “boundary” zu definieren.
Authentisches Beispiel.
In einer solchen Mail mit plain text und HTML part, finde ich eine
boundary
------=_Part_291375_1214917593.1717165035012
Mein code enthält das folgende Fragment:
body.split!("----=_Part_")
parts = body.parts
debug "first part: " << parts[0].to_s
Wichtig: Egal wie viele führende dashes ich im Argument liefere, das
Ergebnis bleibt dasselbe: der part[0] enthält stets den gesamten
Message-body mit allen parts, part[1] existiert nicht.
Mail::Body.split! wandelt intern das String-Argument in ein
Regexp-Objekt um und fügt selbst zwei dashes ein. Allerdings
verstehe ich nicht, wieso alle meine Versuche scheitern und in der
von der Methode gespeicherten boundary jedesmal zwei Dashes fehlen!
Authentische debug Ausgabe:
EmlFile debug 10:39:51:868805: first part: Content-Type: multipart/alternative;
| boundary="----=_Part_291375_1214917593.1717165035012"
|Content-Transfer-Encoding: 7bit
|
|
|------=_Part_291375_1214917593.1717165035012
|Content-Type: text/plain;
| charset=UTF-8
|Content-Transfer-Encoding: quoted-printable
| (…)
Ich bin rechtschaffen verloren.
Wochenende.
Cheerio
Michael
--
Geh Kaffee kochen!
Geh Kaffee kochen!