1 2 3 4 5 6 7 8 9
my $msg = MIME::Lite->new ( Subject => $subject, From => $from, To => $_[0], Type => 'multipart/mixed', Charset => 'utf8' );
Subject => Encode::encode("MIME-B",$subject),
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
#!/usr/bin/perl use strict; use warnings; use MIME::Lite; use Encode qw(from_to); my $subject = "TÄST"; my $from = "ÄÖÜ <a\@example.org>"; my $to = "lölölöß <b\@example.org>"; from_to($subject, "windows-1252", "utf-8"); from_to($to, "windows-1252", "utf-8"); from_to($from, "windows-1252", "utf-8"); my $msg = MIME::Lite->new ( Subject => $subject, From => $from, To => $to, Type => 'multipart/mixed', Charset => 'utf-8' ); open my $fh,"> m.msg"; # nur zum test! $msg->print_header($fh); close $fh;
2010-06-21T13:05:29 GwenDragonWie sind denn deine Eingabedaten? Was für eine Kodierung haben die?
2010-06-21T13:55:11 kristianContent-Type und Content-Charset. Wofür gilt das? Welche Sinn macht ein Content-Transfer-Encoding? Mail ist schon älter und es wird IMHO noch dauern, bis alle MTA's utf-8 können.
2010-06-21T13:58:48 kristianEDIT: Wenn es so wäre wie sollte man die Adressen From To CC BCC codieren?
2010-06-21T14:49:46 kristianHmm, ich kann mich noch an 7-Bit-MTA's und die verunglückten Umwandlungsversuche erinnern aber das ist *sehr* lange her.
QuoteMein Vorschlag war den Standard zu nehmen, den jedes Prog können müsste und das ist iso-8859-1. Wie immer im Netz, wenn nichts anderes gesagt wurde, dann ist es iso-8859-1. 7-Bit gibt es wohl nicht mehr 8-Bit sollte damit klarkommen.
QuoteAlles was darüber hinausgeht, sei es QP im Header oder utf-8 aufgrund des Charsets würde ich vermeiden wollen auch wenn es (QP) im Normalfalle funktioniert es gibt immer wieder die Situation wo es nicht so ist.
QuoteDenk an den armen root, der die mailbox mit mc abklappert, der kann zwar QP und Platten-utf-8 von Haus aus im Kopf decodieren solange es nicht binär encoded ist aber zum lesen ist es unschön ;-)
QuoteDu sagst ja selbst viel zu viel zu beachten und solange es keine rfc gibt in der das geregelt wird bin ich für den einfachen und sichereren Weg.
2010-06-21T13:30:02 kristianDas Ganze ist etwas krumm.
Von daher ist es der einfachere und sichere Weg Mails als iso-8859-1 zu schicken, dann klappts auch mit der Dose...
1 2 3 4 5 6 7 8 9
my $msg = MIME::Lite->new ( Subject => $subject, From => $from, To => $_[0], Type => 'multipart/mixed', Charset => 'iso-8859-1' );
1
2
3
4
5
6
MIME-Version: 1.0
Content-Transfer-Encoding: binary
Content-Type: multipart/mixed; boundary="_----------=_1277129399275240"
X-Mailer: MIME::Lite 3.027 (F2.73; T1.28; A1.67; B3.01; Q3.01)
Date: Mon, 21 Jun 2010 16:09:59 +0200
Subject: Spiel verfügbar
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
use Encode; ... # Subject dekodieren utf8::decode($subject); # Neue E-Mail mit MIME Lite erzeugen my $msg = MIME::Lite->new ( #Subject => $subject, Subject => encode('MIME-Header',$subject), From => $from, To => $to Type => 'multipart/mixed', Charset => 'iso-8895-1' );
2010-06-21T14:48:13 GwenDragonAh, du verwendest wohl Encode::MIME::Header.