Leser: 18
1
2
3
4
5
6
7
content-type: application/octet-stream;filename="123.txt"
Content-Transfer-Encoding: 7bit
content-transfer-encoding: base64
Content-Disposition: attachment; filename="123.txt"
JVBEel0xLjQKJeTjz9IKMSAwIG9iagpbL1BERi9JbWFnZUIvSW1hZ2VDL0ltYWdlSS9UZXh0XQpl
1
2
3
4
content-transfer-encoding: base64
Content-Disposition: attachment; filename="123.txt"
JVBEel0xLjQKJeTjz9IKMSAwIG9iagpbL1BERi9JbWFnZUIvSW1hZ2VDL0ltYWdlSS9UZXh0XQpl
1
2
3
4
5
6
7
8
9
10
11
12
13
Message-ID: <1412248204.1254850563832.JavaMail.wfdd@exl.com>
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="----=_Part_149_79303392.1254850563879"
------=_Part_149_79303392.1254850563879
content-type: application/octet-stream;filename="123.txt"
Content-Transfer-Encoding: 7bit
content-transfer-encoding: base64
Content-Disposition: attachment; filename="123.txt"
JVBERi0xLjQKJeTjz9IKMSAwIG9iagpbL1BERi9JbWFnZUIvSW1hZ2VDL0ltYWdlSS9UZXh0XQpl
1
2
3
4
5
6
------=_Part_149_79303392.1254850563879
content-type: application/octet-stream;filename="456.txt"
content-transfer-encoding: base64
Content-Disposition: attachment; filename="456.txt"
MDAxMjAwOS0xMC0wNi0xMC40Mi4yMy43MzEyMTIwMDAwMDAyMzd5DdfowMTBCWSAgICBCQRDSCAg
2009-10-07T13:41:55 leo11Ich bin der Empfänger und möchte die attachements parsen. Bitte jetzt keinen Link auf MIME::Tools.
2009-10-07T13:41:55 leo11Was hast Du denn dagegen? Kommste nicht mit klar? Willste Beispielcode haben?
$parser -> output_dir($tmppfad);
1
2
content-type: application/octet-stream;filename="123.txt"
Content-Transfer-Encoding: 7bit
2009-10-07T16:36:17 topeg"boundary" ist ja der Blocktrenner,
Quotealles was dazwischen steht ist ein Eigener Datenblock mit Header und Body. Leere Zeilen sind dort nur sofern nötig als dass es sich um Formatierungen im Inhalt oder zu Abtrennen des Headers dient.
QuoteSo könntest du den Body jedes Attachments nach "filename=" durchsuchen
2009-10-07T16:45:53 leo11Dachte eigentlich das gehört zum Header.
1
2
3
4
5
6
------=_Part_149_79303392.1254850563879
content-type: application/octet-stream;filename="123.txt"
Content-Transfer-Encoding: 7bit
content-transfer-encoding: base64
Content-Disposition: attachment; filename="123.txt"
1
2
3
4
------=_Part_149_79303392.1254850563879
content-type: application/octet-stream;filename="123.txt"
content-transfer-encoding: base64
Content-Disposition: attachment; filename="123.txt"
2009-10-07T18:09:48 topegNach welcher Regel fügst du die beiden zusammen?
1 2 3 4 5 6
eval { my $parser = new MIME::Parser; $parser->output_under("/tmp/"); my $entity = $parser->parse(\*STDIN) or die "parse failed\n"; }; ..
1
2
3
4
5
6
7
8
9
10
$VAR1 = \bless( {
'ME_Parts' => [
bless( {
'ME_Bodyhandle' => bless( {
'MB_Path' => '/tmp/msg-1254937311-19946-0/123.txt',
'MB_Binmode' => 1
}, 'MIME::Body::File' ),
'ME_Parts' => [],
'mail_inet_head' => bless( {
...
1 2 3 4 5 6 7 8 9 10 11 12
if ( $entity->is_multipart ) { for my $part ( $entity->parts ) { my $head = $part->head; if ( my $filename = $head->recommended_filename ) { print "Attachment name: $filename\n"; } my $body = $part->bodyhandle; if (my $path = $body->path) { print $path, "\n"; } } }