Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]6189[/thread]

HTML::Template; Win vs. *Nix

Leser: 1


<< >> 7 Einträge, 1 Seite
esskar
 2004-04-13 04:14
#81505 #81505
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
Hi...

mit Hilfe von HTML::Template bau ich mir ne mail zusammen.
Die Template datei wurde unter Windows erzeugt! Hat also am Zeilenende ein ODOA (\r\n) stehen.
Nach dem das Template-Object erstellt und gefüllt ist, über geb ich es meinem MIME::Lite Object und verschicke ich es endgültig mit NET::Smtp.
Funzt auch alles prima. Mail kommt unter beiden systemen an.
Jedoch hat sie, wenn sie vom *Nix-System verschickt wurde und in meinem Outlook angommt nicht mehr die Formatierung die sie haben soll; sprich: die Zeilenumbrüche existieren nicht mehr. Wenn ich sie von Windows aus schicke, ist alles prima.
wie fix ich es.
hab es so versucht.

Code: (dl )
1
2
my $result = $mime->as_smtpstring;
$result =~ s!\r?\n!\r\n!g if $libyn::Config::Remote;


wobei $mime das MIME::Lite object ist und wenn $libyn::Config::Remote wahr ist, bin ich auf dem *nix System.
dies bringt aber nix!
pfuschi
 2004-04-13 11:17
#81506 #81506
User since
2004-03-31
198 Artikel
BenutzerIn
[default_avatar]
Servus,
wird die Mail oder das Template auf den *nix System via perl irgendwann als file gespeichert?
Wenn ja musst du die Datei mit binmode() schreiben, da Perl im text-mode automatisch das zum System passende Zeilenende setzt.

greetz & fetten Segen
manu
P.s: Wir hatten im PCE ein ähnliches Problem mit den EOLs
PCE - Editor für Perl in Perl
Bookzilla.de - Mit jedem Kauf OpenSource unterstützen
"I know I can't hold the hate inside my mind
cause what consumes your thoughts controls your life"
- Creed
esskar
 2004-04-13 13:35
#81507 #81507
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
eigentlich nicht...
zumindest nicht das ich wüsste...
ahnungsloser
 2004-04-13 14:09
#81508 #81508
User since
2003-09-03
80 Artikel
BenutzerIn
[default_avatar]
Hi,

versuch doch anstelle von \n bzw. \r den Asciicode zu setzen, dann könnte es funzen. \r == Wagenrücklauf, ob das unter Win funzt??? Ich glaube *nix system interpretieren das anders???
pfuschi
 2004-04-13 14:58
#81509 #81509
User since
2004-03-31
198 Artikel
BenutzerIn
[default_avatar]
Servus,
okay...
Also ich denke imemr noch dass es was mit diesem Perl feature zu tun hat.
Wie läuft das script im groben ab?
1. öffnen des templates -> wo wurde es erstellt (win32), wie wurde es auf das *nix system gebracht (script|ftp)
2. pasten des contents in das Template
usw.

Ich glaube zum Beispiel nicht das dieses Perl Feature auch beim einlesen von Files angewand wird, kann das aber nicht 100% auschließen.
Das würde nämlich bedeuten dass dein Perl Script den Template code beim öffnen verunstalltet. Aber wie gesagt das weiss ich nicht.

greetz & fetten Segen
manu
PCE - Editor für Perl in Perl
Bookzilla.de - Mit jedem Kauf OpenSource unterstützen
"I know I can't hold the hate inside my mind
cause what consumes your thoughts controls your life"
- Creed
Strat
 2004-04-13 21:06
#81510 #81510
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
hilft es was, wenn du das template in unix-mode setzt? (perl -i.bak -pe "s/\r//g" templatefile)
und falls nicht, hast du dann wenigstens ein einheitliches verhalten...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
esskar
 2004-04-14 02:57
#81511 #81511
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
hehe...
UltraEdit hat sie nicht mehr all...
wenn ich die Datei normal speichere, speichert er zeilenumbrüche mit \n...
wenn ich die datei im UltraEdit öffne und dann HexEdit anmache, sehe ich 0d0a's...
wenn ich dann auf Datei/Konvertieren/DOS to UNiX sag ist die Datei größer!!! und wenn ich sie mir im HexEdit anschau, stehen immer 0d0a's dort...
dann gespeichert und auf den server geschickt und siehe da... es geht!

verkehrte welt! :)
<< >> 7 Einträge, 1 Seite



View all threads created 2004-04-13 04:14.