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

Problem mit Dateinamen beim Versenden vom Mails mi



<< >> 9 Einträge, 1 Seite
r44bux
 2007-04-06 01:28
#28908 #28908
User since
2007-03-21
15 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich habe ein Problem mit Dateinamen beim Versenden vom Mails mit Net::SMTP::Multipart unter Window und xampp. Die Mail enthält Attachements aus Text und Bilddateien. Alles sendet und kommt auch an. Die Bilder werden korrekt angezeigt.

Das Problem: Die Dateinamen verschwinden und werden durch temporäre Namen ersetzt.

Die Ursachenforschung führte zu folgendem Ergebnis: Net::SMTP::Multipart speichert keinen Content-Type ab und vor dem Dateinamen steht noch ein \tmp/ (das ist das Verzeichnis, in dem die zu mailenden Dateien stehen). So sieht der von Net::SMTP::Multipart erstellte mime-header aus:

Content-Type: ; name="\tmp/bild.png"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; =filename="\tmp/bild.png"


und so sollte er aussehen

Content-Type: image/png; name="bild.png"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="bild.png"

Da ich unter xampp mit Mercury Mail arbeite kann ich klammheimlich patchen. Nach dem türken werden die Dateinamen vom Mailprogramm korrekt wiedergegeben. Aber das ist natürlich keine Lösung :)

hat jemand eine Idee ?

danke
Reinhold
Relais
 2007-04-06 13:07
#28909 #28909
User since
2003-08-06
2245 Artikel
ModeratorIn
[Homepage] [default_avatar]
verwende doch chdir um in /tmp dein Programm auszuführen. Dann brauchst Du nur noch den relativen Pfad zu den Dateien, also "bild.png".
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop (Termin wird noch gesucht) 2025 in München.

Winter is Coming
r44bux
 2007-04-06 14:52
#28910 #28910
User since
2007-03-21
15 Artikel
BenutzerIn
[default_avatar]
[quote=Relais,06.04.2007, 11:07]verwende doch chdir um in /tmp dein Programm auszuführen. Dann brauchst Du nur noch den relativen Pfad zu den Dateien, also "bild.png".[/quote]
danke für den Tip. Hat leider nicht ganz geholfen. Die Dateinamen sehen zwar besser aus (sozusagen gut), aber der mime-header ist immer noch falsch.

Content-Type: ; name="Bild1.png"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; =filename="Bild1.png"

Das Gleichheitszeichen vor filename stört. wenn ich das wegpatche ist es ok. Und der Content-Type wird auch noch nicht angegeben.

tschüß
Reinhold
renee
 2007-04-06 15:41
#28911 #28911
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Zeig mal etwas Code...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
r44bux
 2007-04-07 01:17
#28912 #28912
User since
2007-03-21
15 Artikel
BenutzerIn
[default_avatar]
[quote=renee,06.04.2007, 13:41]Zeig mal etwas Code...[/quote]
ok Renee,

hier ist der wichtigste Teil des Codes:

------------------------------------------------------------------
my $smtp = Net::SMTP::Multipart->new($MailServer);
$smtp->Header(To => $To,
Subj => $Subject,
From => $From);
$smtp->Text($Content); # dieser Vorschlag von Relais weiter oben führte zu dem sauberen Abspeichern der Dateinamen im header der mail
chdir File::Spec->tmpdir();
foreach $FileName (@FileNames) {
$smtp->FileAttach($FileName);
}
$smtp->End();
---------------------------------------------------------------------

ohne Net::SMTP::Multipart nur mit Net::SMTP ist alles ok
$smtp->FileAttach($FileName); haut mir das Gleichheitszeichen rein

Content-Disposition: attachment; =filename="\tmp/bild.png"

und der Content-Type ist einfach nur leer.
Content-Type: ; name="\tmp/bild.png"

das blöde \tmp/ verschwindet durch chdir File::Spec->tmpdir();

ist der Net::SMTP::Multipart fehlerhaft, oder habe ich in der Doku etwas übersehen?

danke und tschüß
Reinhold
renee
 2007-04-07 12:10
#28913 #28913
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ist ein Fehler in CPAN:Net::SMTP::Multipart. Wenn Du die Datei editieren kannst, kannst Du das in der Subroutine FileAttach selbst beheben...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
r44bux
 2007-04-07 13:31
#28914 #28914
User since
2007-03-21
15 Artikel
BenutzerIn
[default_avatar]
[quote=renee,07.04.2007, 10:10]Ist ein Fehler in CPAN:Net::SMTP::Multipart. Wenn Du die Datei editieren kannst, kannst Du das in der Subroutine FileAttach selbst beheben...[/quote]
seufz,
danke,

habe Net::SMTP::Multipart gepatched

alles ok

äh, wieso macht der Dave Roberts das nicht selber?

bis dann
Reinhold
GwenDragon
 2007-04-09 19:11
#28915 #28915
User since
2005-01-17
14741 Artikel
Admin1
[Homepage]
user image
[quote=r44bux,07.04.2007, 11:31]äh, wieso macht der Dave Roberts das nicht selber?[/quote]
Warum keinen Bugreport Net-SMTP-Multipart? Mit Codefix?

/EDIT: Ach, der Renee war schon da ;)\n\n

<!--EDIT|GwenDragon|1176131518-->
r44bux
 2007-04-10 01:12
#28916 #28916
User since
2007-03-21
15 Artikel
BenutzerIn
[default_avatar]
[quote=GwenDragon,09.04.2007, 17:11][quote=r44bux,07.04.2007, 11:31]äh, wieso macht der Dave Roberts das nicht selber?[/quote]
Warum keinen Bugreport Net-SMTP-Multipart? Mit Codefix?

/EDIT: Ach, der Renee war schon da ;)[/quote]
jou, der Renee hat schon einiges erledigt. Außerdem fehlen noch die MimeTypes. Da sitze ich gerade dran.

tschüß
Reinhold
<< >> 9 Einträge, 1 Seite



View all threads created 2007-04-06 01:28.