Gmailize your mbox
xern
created: 2004-06-22 18:08:12
This snippet can back up your mbox messages onto Gmail.
#!/usr/bin/perl

use strict;
use Email::Folder;
use Mail::Mailer;

my $email = '@gmail.com';
my $folder = Email::Folder->new($ARGV[0] || die);
foreach ($folder->messages){
    print $_->header("Subject").$/;
    my $mailer = new Mail::Mailer;
    $mailer->open({
        To => $email,
        From => $_->header("From"),
        Subject => $_->header("Subject"),
    });
    print $mailer $_->body;
    $mailer->close;
}

Re: Gmailize your mbox
created: 2004-06-30 10:29:34

Cool, thanx for this little snippet.

I'm trying to write one for IMAP using Mail::IMAPClient. Ever used it? I'm having trouble figuring it out. I can retrieve the list of messages and stuff like that, but when it comes to actually dumping the contents of the message, I'm stuck.

--
Diplomacy is the art of saying "Nice doggie" until you can find a rock.
naChoZ

Re: Gmailize your mbox
created: 2005-06-27 06:06:47

This is a very handy snippet.

I've modified it ever so slightly:

#!/usr/bin/perl

use strict;
use Email::Folder;
use Mail::Mailer;

my $email = '@gmail.com';
my $tag = 'Mail Tag';
my $folder = Email::Folder->new($ARGV[0] || die "No mbox supplied\n\nUsage: $0 mboxname\n");
foreach ($folder->messages){
    print $_->header("Subject").$/;
    my $mailer = new Mail::Mailer;
    $mailer->open({
        To => $email,
        From => $_->header("From"),
        Subject => "$tag " . $_->header("Subject"),
    });
    print $mailer $_->body;
    $mailer->close;
    print "Email with Subject: " . $_->header("Subject") . " sent\n";
}

Thanks a lot!

Gavin.

Walking the road to enlightenment... I found a penguin and a camel on the way.....
Fancy a yourname@perl.me.uk? Just ask!!!
Re^2: Gmailize your mbox
created: 2006-07-31 11:34:13

This looks to be a very useful piece of code but I have tried it on a test message and it fails to pring the message body.

Here is the test email that I tried it on (email address, servers and IPs cleaned but otherwise the same):

From Ed.Davison@mccombs.utexas.edu Mon Jul 31 15:05:58 2006
Received: from 1.2.3.4 ([1.2.3.4]) by exchange.domain
        ([1.2.3.5]) via Exchange Front-End Server mail.domain
        ([1.2.3.6]) with Microsoft Exchange Server HTTP-DAV ; Mon, 31 Jul 2006
        15:05:58 +0000
Received: from laptop by mail.domain; 31 Jul 2006
        10:05:57 -0500
Subject: test for email parser
From: username@domain
Reply-To: username@domain
To: username
Content-Type: text/plain
Organization: Organization
Date: Mon, 31 Jul 2006 10:05:57 -0500
Message-Id: <1154358357.11169.0.camel@localhost>
Mime-Version: 1.0
X-Mailer: Evolution 2.6.2
X-Evolution-Source: exchange://user@mail.domain/
Content-Transfer-Encoding: 8bit

test entry

Any ideas why the message body is not being picked up on this one?

perlmonks.org content © perlmonks.org and bfdi533, ghenry, naChoZ, xern

prlmnks.org © 2006 edmund von der burg (eccles & toad)

v 0.03