Re: Printing UTF-8 mail to terminal

Liste des GroupesRevenir à cl python 
Sujet : Re: Printing UTF-8 mail to terminal
De : cs (at) *nospam* cskk.id.au (Cameron Simpson)
Groupes : comp.lang.python
Date : 31. Oct 2024, 22:50:56
Autres entêtes
Message-ID : <mailman.63.1730408232.4695.python-list@python.org>
References : 1 2
User-Agent : Mutt/2.2.13 (2024-03-09)
On 31Oct2024 16:33, Loris Bennett <loris.bennett@fu-berlin.de> wrote:
I have a command-line program which creates an email containing German
umlauts.  On receiving the mail, my mail client displays the subject and
body correctly:
[...]
So far, so good.  However, when I use the --verbose option to print
the mail to the terminal via
>
 if args.verbose:
     print(mail)
>
I get:
>
 Subject: Übungsbetreff
>
 Sehr geehrter Herr Dr. Bennett,
>
 Dies ist eine =C3=9Cbung.
>
What do I need to do to prevent the body from getting mangled?
That looks to me like quoted-printable. This is an encoding for binary transport of text to make it robust against not 8-buit clean transports.  So your Unicode text is encodings as UTF-8, and then that is encoded in quoted-printable for transport through the email system.
Your terminal probably accepts UTF-8 - I imagine other German text renders corectly?
You need to get the text and undo the quoted-printable encoding.
If you're using the Python email module to parse (or construct) the message as a `Message` object I'd expect that to happen automatically.
If you're just dealing with this directly, use the `quopri` stdlib module: https://docs.python.org/3/library/quopri.html
Cheers,
Cameron Simpson <cs@cskk.id.au>

Date Sujet#  Auteur
31 Oct 24 * Printing UTF-8 mail to terminal17Loris Bennett
31 Oct 24 +* Re: Printing UTF-8 mail to terminal4Left Right
1 Nov 24 i`* Re: Printing UTF-8 mail to terminal3Loris Bennett
3 Nov 24 i `* Re: Printing UTF-8 mail to terminal2Inada Naoki
4 Nov 24 i  `- Re: Printing UTF-8 mail to terminal1Loris Bennett
31 Oct 24 +- Re: Printing UTF-8 mail to terminal (Posting On Python-List Prohibited)1Lawrence D'Oliveiro
31 Oct 24 `* Re: Printing UTF-8 mail to terminal11Cameron Simpson
1 Nov 24  `* Re: Printing UTF-8 mail to terminal10Loris Bennett
1 Nov 24   +* Re: Printing UTF-8 mail to terminal8Loris Bennett
1 Nov 24   i+- Re: Printing UTF-8 mail to terminal1dieter.maurer
1 Nov 24   i`* Re: Printing UTF-8 mail to terminal6Cameron Simpson
4 Nov 24   i `* Re: Printing UTF-8 mail to terminal5Loris Bennett
4 Nov 24   i  `* Re: Printing UTF-8 mail to terminal4Loris Bennett
4 Nov 24   i   `* Re: Printing UTF-8 mail to terminal3Loris Bennett
5 Nov 24   i    +- Re: Printing UTF-8 mail to terminal1Peter J. Holzer
5 Nov 24   i    `- Re: Printing UTF-8 mail to terminal1Cameron Simpson
1 Nov 24   `- Re: Printing UTF-8 mail to terminal1Cameron Simpson

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal