Patrick Andrieu (noreg): MIME::Lite and... just another Schei? encoding...

Beitrag lesen

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)