![]() |
|
Just another Perl shrine | |
PerlMonks |
MIME Attachment Extractorby httptech (Chaplain) |
on May 18, 2000 at 06:31 UTC ( #12287=snippet: print w/replies, xml ) | Need Help?? |
use MIME::Parser;
sub read_email {
my $dir = "/home/foo/public_html/attachments";
my $url = "http://www.foo.bar/attachments";
my $parser = new MIME::Parser;
$parser->output_dir($dir);
my $entity = $parser->read(\*STDIN) || die "couldn't parse MIME stre
+am";
my $head = $entity->head;
my $content = $head->as_string . "\n";
my @parts = $entity->parts;
my $body = $entity->bodyhandle;
$content .= $body->as_string if defined $body;
my $part;
for $part (@parts) {
my $path = ($part->bodyhandle) ? $part->bodyhandle->path : undef;
if ($path =~ /msg-\d+.*\.doc/) {
open(IN, $path) || warn "Couldn't open $path\n";
local $/ = undef;
$content .= <IN> . "\n";
close IN;
unlink ($path) || warn "Couldn't unlink $path\n";
}
else {
my $file = $path;
$file =~ s/$dir//o;
$content .= "\n--\nSaved attachment: $url$file\n--\n"; }
}
return $content;
}
|
|