Hallo CPAN!
Mir fehlen hier einige wichtige Dinge.
Deswegen poste ich ja ;)
① Die Werte für die Header Return-Path, From, To müssen RFC-konform kodiert werden.
From => Email::Address->new('Verteiler', $from_address)->format,
> ⑦ Kann der Organization-Header sinnvoll verwendet werden? Falls ja, bitte einfüllen.
Obige Punkte verstehe ich nicht ganz... Was ist »Verteiler«, was ist ein »Organization-header«?
> ② Subject muss kodiert werden.
> ~~~perl
> use Encode qw(encode);
> ⋮
> Subject => encode('MIME-Header', $subject),
>
[x] Done!
③ Data muss kodiert werden, ansonsten gibt es den Fehler Wide character in subroutine entry at .../MIME/Lite.pm line 2264.
Data => encode('UTF-8', $plain),
Damit kann ich zwar im Quelltext der Mail (Datei->Eigenschaften->Details->Quelltext bei Windows Mail, dem Outlook-Express-Nachfolger) dem Plaintext-Part lesen, doch erhalte ich meine Umlaute als Zeichensalat... und Windows-Mail zeig nicht mehr »Unicode (UTF-8)« in der Mail-Titelleiste.
> ④ Da die Mail nicht von einem Menschen generiert wird, Header gemäß RFC 3834 §5.2 setzen:
> ~~~perl
> 'Auto-Submitted' => 'auto-generated',
>
[x] Done. Aber: Erscheint es irgendwo im Mail-Header? Ich kann es im Quelltext nirgends entdecken.
⑤ Wie behandelst du Auslieferung an IDN (a.k.a. "Umlaut-Domains")?
Die behandle ich derzeit gar nicht. Das JavaScript blockt Umlaute in den Mail-Adressen ab.
⑥ Als Content-Transfer-Encoding ist 8bit für die text/*-Teile vorzuziehen.
$body->attach(
Encoding => '8bit',
Das hat zumindest was den Zeichensalat angeht, nichts geändert.
Die Testseite: <http://www.atomic-eggs.com/cwi/cwi_5.shtml#ende>. Ich habe im Titel extra noch »äöüß« notiert. Dieser Seite charset ist ISO-8859-1. Die Datei, die als innerHTML zum Füllen des DIV mit der ID »bms« fungiert, ist in UTF-8. Aber...: Auf einer weiteren Testseite, die UTF-8-kodiert ist, habe ich auch das Skript eingebunden - und die Umlauten kommen, ohne base64 im Perl-Skript, ebenso als Müll an. Das scheint also nicht die Ursache zu sein.
VG,
Patrick (noreg)