Die Token encoded-word
(gemäß RFC 2047) können in den Werten einiger Header vorkommen. Sie werden wie folgt analysiert:
=?<charset>?<encoding>?<data>?=
Charset UTF-8 ist in diesem Fall die Codierung B
was bedeutet Base64 (Die andere Option ist, die Druckmittel Q
Zitiert).
Um es zu lesen, dekodieren Sie zunächst die base64 und behandeln Sie sie dann als UTF-8-Zeichen.
Lesen Sie auch die verschiedenen Internet Mail RFCs für weitere Details, vor allem RFC 2047.
Da Sie Perl verwenden, Encode::MIME::Header von Nutzen sein könnte:
SYNTAX
use Encode qw/encode decode/;
$utf8 = decode('MIME-Header', $header);
$header = encode('MIME-Header', $utf8);
ABSTRACT
Dieses Modul implementiert RFC 2047 Mime Header-Encoding. Es gibt 3 Varianten Kodierungsnamen; MIME-Header, MIME-B und MIME-Q. Die Differenz wird unten beschrieben
decode() encode()
MIME-Header Both B and Q =?UTF-8?B?....?=
MIME-B B only; Q croaks =?UTF-8?B?....?=
MIME-Q Q only; B croaks =?UTF-8?Q?....?=
Das war hilfreich, danke. Übrigens habe ich auch print encode ('utf-8', $ headers_decoded) verwendet, um decodierte Header korrekt anzuzeigen, wenn jemand anderes dies liest, während er ein Mail-Skript schreibt. –