Thread Mime::Parser und Umlaute im Dateinamen der Attachments (10 answers)
Opened by Kai at 2010-06-24 21:40

bianca
 2010-06-25 08:43
#138935 #138935
User since
2009-09-13
6978 Artikel
BenutzerIn

user image
Zunächst mal handhabst Du die Variablen nicht einheitlich.
$infile übergibst und übernimmst Du in der sub, die restlichen Variablen aber nicht. Hat das einen tieferen Sinn?

Und zur Sache: Geht es um den Inhalt von $file in der sub? Der kommt ja aus ARGV[0]. Dann eine Gegenfrage: Wo kommt ARGV her bzw. was wird da definiert?

Ich nutze auch MIME::Parser, um E-Mails in Dateien zu zerlegen und ich kenne es so, dass die Mails alle mit einem unkritischen Dateinamen in einem Verzeichnis liegen. Das lese ich dann so aus:
foreach my $file (readdir $verz){}
...und übergebe $file in meine sub zum Zerlegen, die deiner ähnelt. Die sub legt dann ein Unterverzeichnis mit genau diesem Namen an und dem Parser sag ich, er soll alle Dateien der Mail dort reinlegen mit
$parser -> output_dir("$tmppfad/$dateiname"); und $entity = $parser -> parse_open("$dateipfad/$dateiname");

Dann hab ich pro Mail ein Verzeichnis und darin Dateien mit Namen nach dem Muster msg-xxxx-y.ext wobei xxxx eine Nachrichtennummer ist und y eine fortlaufende Nummer. Die Attachments liegen mit ihrem Original Dateinamen dort. So hab ich nie Probleme mit den Dateinamen an sich.
Das lese ich dann anschließend aus. Weiß nicht, ob das bei Dir in Frage kommt, ich mache damit Massenverarbeitung.

Edit: überflüssigen Code entfernt
Last edited: 2010-06-25 09:00:28 +0200 (CEST)
10 print "Hallo"
20 goto 10

View full thread Mime::Parser und Umlaute im Dateinamen der Attachments