Umlaute und Mime::Lite

12/08/2008 - 16:23 von martin.radile | Report spam
vHallo zusammen,
das ist mein erster Eintrag auf dieser Mailingliste.

Ich versuche mit einem Perl Skript Emails zu versenden, die ausserdem
Umlaute im Body und im Subject haben.

Die Textinhalte kommen aus einem Webformular und sind UTF8 encodiert.
Leider kommen die Umlaute teilweise nicht an wie sie sollen. Webmailer
und Thunderbird erkennen die Umlaute korrekt. Outlook Express und
Lotus Notes kommen ueberhaupt nicht damit zu recht und Apple Mail
zeigt die Umlaute korrekt im Subject an, aber nicht im Body.

Weis einer was ich falsch mache?
Im Mail-Header steht

X-Amavis-Alert: BAD HEADER Non-encoded 8-bit data (char C3 hex):
Subject:
XXX Support M_322 :
\303\266\303\244\303\274\303\237\303\226\303\204\303\234

Ich hab verschiedene Einstellungen fuer $msg->attr('content-
type.charset' => 'UTF8') und $msg->attr('Content-transfer-encoding' =>
'quoted-printable') probiert, aber leider kommt immer wieder das der
Mail-Header "bad" ist.

Der Mail Server is ein Lotus Domino Server.



Hier der entsprechende Code Abschnitt.
######################################################################
my $msg = MIME::Lite->new(
From => $senderFull,
To => $to,
Subject => $param->{'subject'},
Data => $param->{'body'},
) or die "Error creating multipart container: $!";

if ($cc) {
$msg->add(CC => $cc);
}

if ($bcc) {
$msg->add(BCC => $bcc);
}

if ($attachments) {
$msg->add(Type => 'multipart/mixed');
}

$msg->attr('content-type.charset' => 'UTF8')
or die "Error adding content-type.charset 'UTF8': $!";

$msg->attr('Content-transfer-encoding' => 'quoted-printable')
or die "Content-transfer-encoding 'quoted-printable': $!";

foreach my $attachment (values %{$attachments}){
$msg->attach (
Type => $attachment->{mime_type},
Data => $attachment->{image_data},
Filename => $attachment->{name},
Disposition => 'attachment'
) or die "Error adding $attachment->{name}: $!";
}

MIME::Lite->send(
'smtp',
$param->{'mailserver'},
Timeout=>60,
);
$msg->send;
######################################################################

hier noch die Mail
######################################################################
Received: from mx01.XXX.net ([195.135.164.3])
by notes.XXX.net (Lotus Domino Release 6.5.5)
with ESMTP id 2008081215522216-22782 ;
Tue, 12 Aug 2008 15:52:22 +0200
Received: by mx01.XXX.net (Postfix)
id 520192642AE; Tue, 12 Aug 2008 15:52:22 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
by mx01.XXX.net (Postfix) with ESMTP id 353B22642AD;
Tue, 12 Aug 2008 15:52:22 +0200 (CEST)
Received: from mx01.XXX.net ([127.0.0.1])
by localhost (mx01.XXX.net [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id akUzgOlq7+db; Tue, 12 Aug 2008 15:52:18 +0200 (CEST)
Received: from localhost.localdomain (unknown [192.168.0.231])
by mx01.XXX.net (Postfix) with ESMTP id C81F1264281;
Tue, 12 Aug 2008 15:52:18 +0200 (CEST)
Date: Tue, 12 Aug 2008 13:49:51 UT
From: "XXX Support"<support@XXX.net>
To: martin.radile@XXX.net
Subject: XXX Support M_322 : öàüßÖÄÜ
Cc: martin.radile@gmail.com
Message-Id: <20080812135218.C81F1264281@mx01.XXX.net>
Delivered-To: martin.radile@XXX.net
X-Quarantine-ID: <akUzgOlq7+db>
X-Virus-Scanned: Debian amavisd-new at smtp.XXX.net
X-Amavis-Alert: BAD HEADER Non-encoded 8-bit data (char C3 hex):
Subject:
XXX Support M_322 :
\303\266\303\244\303\274\303\237\303\226\303\204\303\234
MIME-Version: 1.0
Type: multipart/mixed
X-Mailer: MIME::Lite 1.1 (B2.11; Q2.03)
X-MIMETrack: Itemize by SMTP Server on XXX/XXX/de(Release 6.5.5|
November
30, 2005) at 08/12/2008 03:52:22 PM



Hallo martin Radile,
hier kommen die umlaute 'öà¤à¼àŸà–à„àœ'


weggelassen

 

Lesen sie die antworten

#1 Slaven Rezic
12/08/2008 - 21:03 | Warnen spam
"" writes:

vHallo zusammen,
das ist mein erster Eintrag auf dieser Mailingliste.

Ich versuche mit einem Perl Skript Emails zu versenden, die ausserdem
Umlaute im Body und im Subject haben.

Die Textinhalte kommen aus einem Webformular und sind UTF8 encodiert.
Leider kommen die Umlaute teilweise nicht an wie sie sollen. Webmailer
und Thunderbird erkennen die Umlaute korrekt. Outlook Express und
Lotus Notes kommen ueberhaupt nicht damit zu recht und Apple Mail
zeigt die Umlaute korrekt im Subject an, aber nicht im Body.

Weis einer was ich falsch mache?
Im Mail-Header steht

X-Amavis-Alert: BAD HEADER Non-encoded 8-bit data (char C3 hex):
Subject:
XXX Support M_322 :
\303\266\303\244\303\274\303\237\303\226\303\204\303\234

Ich hab verschiedene Einstellungen fuer $msg->attr('content-
type.charset' => 'UTF8') und $msg->attr('Content-transfer-encoding' =>
'quoted-printable') probiert, aber leider kommt immer wieder das der
Mail-Header "bad" ist.

Der Mail Server is ein Lotus Domino Server.




Bei MIME::Lite muss man sich um das Kodieren der Header und des Bodys
selbst kümmern. Dazu nimmt man am besten das Module Encode. Zum
Beispiel:

my $subject = Encode::encode("MIME-B", $subject);
my $body = Encode::encode("utf-8", $body);
my $msg = MIME::Lite->new(Subject => $subject,
... andere Header ...
Type => "text/plain; charset=utf-8",
Data => $body);

Das funktioniert nur, wenn die Eingangsdaten Perl-Characters sind
(d.h. entweder latin1-Daten ohne utf8-Flag oder utf8-Daten mit
utf8-Flag).

Regards,
Slaven

Slaven Rezic - slaven <at> rezic <dot> de

Lost in your Tk widget tree? Try
http://user.cs.tu-berlin.de/~eserte/src/perl/Tk-WidgetDump/

Ähnliche fragen