[prev] [thread] [next] [lurker] [Date index for 2004/04/02]
Author: richardc
Date: 2004-04-02 10:05:42 +0100 (Fri, 02 Apr 2004)
New Revision: 1495
Modified:
trunk/mariachi/Build.PL
trunk/mariachi/lib/Mariachi/Message.pm
Log:
use Email::MIME to strip attachments
Modified: trunk/mariachi/Build.PL
===================================================================
--- trunk/mariachi/Build.PL 2004-03-23 00:20:25 UTC (rev 1494)
+++ trunk/mariachi/Build.PL 2004-04-02 09:05:42 UTC (rev 1495)
@@ -15,9 +15,10 @@
'AppConfig' => '1.55',
'Class::Accessor' => 0,
'Date::Parse' => 0,
+ 'Email::Find' => 0,
'Email::Folder' => '0.5',
+ 'Email::MIME' => 0,
'Email::Thread' => 0,
- 'Email::Find' => 0,
'File::Basename' => 0,
'File::Copy' => 0,
'File::Find::Rule' => 0,
Modified: trunk/mariachi/lib/Mariachi/Message.pm
===================================================================
--- trunk/mariachi/lib/Mariachi/Message.pm 2004-03-23 00:20:25 UTC (rev 1494)
+++ trunk/mariachi/lib/Mariachi/Message.pm 2004-04-02 09:05:42 UTC (rev 1495)
@@ -1,6 +1,6 @@
use strict;
package Mariachi::Message;
-use Email::Simple;
+use Email::MIME;
use Digest::MD5 qw(md5_hex);
use Date::Parse qw(str2time);
use Text::Original ();
@@ -30,14 +30,26 @@
my $source = shift;
my $self = $class->SUPER::new;
- my $mail = Email::Simple->new($source) or return;
+ my $mail = Email::MIME->new($source) or return;
$self->linked({});
$self->_header({});
$self->header_set( $_, $mail->header($_) ) for
qw( message-id from subject date references in-reply-to );
- $self->body( $mail->body );
+ # gather up the text/plain chunks for now - later we may want to
+ # save the non-html attachments and present them in some way
+ my $body;
+ for ($mail->parts) {
+ if ($_->content_type =~ m{^text/plain\b}) {
+ $body .= $_->body;
+ }
+ else {
+ $body .= "[ detached attachment " . $_->filename . " ]\n";
+ }
+ }
+ $self->body( $body );
+
$self->header_set('message-id', $self->_make_fake_id)
unless $self->header('message-id');
Generated at 13:57 on 01 Jul 2004 by mariachi 0.52