From 3d40457c028f59c010986223e7a447927f76c47b Mon Sep 17 00:00:00 2001 From: Stefan Ritt Date: Fri, 24 Sep 2004 21:24:35 +0000 Subject: [PATCH] *** empty log message *** SVN revision: 1094 --- doc/doelog.txt | 133 ------------------------------------------------- 1 file changed, 133 deletions(-) delete mode 100755 doc/doelog.txt diff --git a/doc/doelog.txt b/doc/doelog.txt deleted file mode 100755 index 6191d734..00000000 --- a/doc/doelog.txt +++ /dev/null @@ -1,133 +0,0 @@ -#!/usr/bin/perl -w - -=head1 NAME - -doelog - save a mime message to elog - -=head1 SYNOPSIS - - doelog ... - - someprocess | doelog - - -=head1 DESCRIPTION - -Takes one or more files from the command line that contain MIME -messages, and explodes their contents out into /tmp. The parts -are sent to elog as attachments. - -Modified mimeexplode of the MIME::Tools in perl - - -This was written as an example of the MIME:: modules in the -MIME-parser package I wrote. It may prove useful as a quick-and-dirty -way of splitting a MIME message if you need to decode something, and -you don't have a MIME mail reader on hand. - -=head1 COMMAND LINE OPTIONS - -None yet. - -=head1 AUTHOR - -sak@essc.psu.edu - -=cut - -BEGIN { unshift @INC, ".." } # to test MIME:: stuff before installing it! - -require 5.001; - -use strict; -use vars qw($Msgno $cmd); - -use MIME::Parser; -use Getopt::Std; - -## these should be options too? -## base elog cmd -$cmd = "~/elog -h localhost -p 8080 "; - -#------------------------------------------------------------ -# dump_entity - dump an entity's file info -#------------------------------------------------------------ -sub dump_entity { - my $ent = shift; - my @parts = $ent->parts; - my $file; - - die "too many attachments\n" if ($#parts>10); - - if (@parts) { # multipart... - map { dump_entity($_) } @parts; - } - else { # single part...append to elog cmd - $file = $ent->bodyhandle->path; - $cmd .= "-f \"$file\" "; -## print $cmd, "\n"; -## print " Part: ", $ent->bodyhandle->path, -## " (", scalar($ent->head->mime_type), ")\n"; - } -} - -#------------------------------------------------------------ -# main -#------------------------------------------------------------ -sub main { - my $file; - my $entity; - my $subject; - my $logbook; - our($opt_l); - - # Sanity: - ## (-w ".") or die "cwd not writable, you naughty boy..."; - - ## check if user wants a particular logbook - ## fix to add host and port? - getopts('l:'); - if($opt_l) { $logbook=$opt_l;} else {$logbook="emails";} - $cmd .= "-l $logbook "; - - # Go through messages: - @ARGV or unshift @ARGV, "-"; - while (defined($file = shift @ARGV)) { - - - # Create a new parser object: - my $parser = new MIME::Parser; - - # Optional: set up parameters that will affect how it extracts - # documents from the input stream: - $parser->output_under("/tmp"); - - # Parse an input stream: - open FILE, $file or die "couldn't open $file"; - $entity = $parser->read(\*FILE) or - print STDERR "Couldn't parse MIME in $file; continuing...\n"; - close FILE; - - ## get the subject, assumes all logbooks have a subject - ## attribute - not necessarily true. Mine do... - chomp($subject = $entity->head->get('Subject', 0)); - $cmd .= "-a subject=\"$subject\" "; - print $cmd, "\n"; - - # Congratulations: you now have a (possibly multipart) MIME entity! - dump_entity($entity) if $entity; - ### $entity->dump_skeleton if $entity; - ### print $cmd, "\n"; - exec $cmd; - } - 1; -} - -exit (&main ? 0 : -1); -#------------------------------------------------------------ -1; - - - - - -