From: epg Date: Mon, 14 Apr 2014 01:21:12 +0000 (-0700) Subject: Add trivial program to summarize header and MIME info. X-Git-Url: https://diplodocus.org/git/minc/commitdiff_plain/d35dfee3bc771859c87e3118afd95189f43ae9e2?hp=bad0697ce9267f72739beea39ac3e76d96af5dc3 Add trivial program to summarize header and MIME info. --- diff --git a/summarize-mime b/summarize-mime new file mode 100755 index 0000000..aface15 --- /dev/null +++ b/summarize-mime @@ -0,0 +1,52 @@ +#!/usr/local/bin/perl + +=head1 NAME + +B - summarize headers and MIME structure of email messages + +=head1 SYNOPSIS + +B I + +=head1 DESCRIPTION + +Print From, To, Date, and Subject header fields along with a summary of the MIME +structure of the email message in each file. + +=cut + +use strict; +use warnings; +use v5.14; + +use Email::MIME; + +my @fields = ('From', 'To', 'Date', 'Subject'); + +sub say_header { + my $message = shift; + my $field = shift; + for my $value ($message->header($field)) { + say "$field: $value"; + } +} + +MAIN: { + my $errors = 0; + for my $fn (@ARGV) { + say $fn; + my $fp; + if (!open($fp, $fn)) { + $errors++; + warn("open($fn): $!"); + next; + } + my $text = join('', (<$fp>)); + my $parsed = Email::MIME->new($text); + for my $field (@fields) { + say_header($parsed, $field); + } + say $parsed->debug_structure; + } + exit($errors); +}