mirror of
https://github.com/spartanz51/tutabridge.git
synced 2026-06-24 10:54:32 +02:00
* mail: do not split a quoted display name on its comma parse_address_list tracked angle-bracket depth but not quotes, so a recipient like `"Doe, John" <john@x.com>` was split on the comma inside the quoted name, yielding a bogus recipient (`"Doe`) next to the real one. With a real contact named "Last, First" that either gets the whole send rejected by Tuta or delivers to a garbage address. Track the quote state too: inside `"..."`, commas and angle brackets are literal. Tested with a quoted-comma recipient and a plain comma list. * mail: decode non-UTF-8 bodies instead of echoing base64 or QP source When a base64 or quoted-printable body decoded to bytes that were not valid UTF-8 (e.g. a Latin-1 message), the parser fell back to returning the still-encoded source: the recipient saw a wall of base64, or raw =XX sequences. Decode the bytes lossily instead, so the text is readable (non-UTF-8 bytes become the replacement char rather than garbage). Full charset-aware decoding (Content-Type charset via encoding_rs) is a follow-up; this fixes the worst symptom with no new dependency. Tested with a non-UTF-8 base64 body and a non-UTF-8 quoted-printable byte.