in reply to Re: correct gmail module?
in thread correct gmail module?
use strict; use warnings; require IO::Socket::SSL; require Mail::IMAPClient; # Gmail does not provide a non-SSL IMAP server. my $socket = IO::Socket::SSL->new("imap.gmail.com:993") my $imap = Mail::IMAPClient->new( Server => 'imap.gmail.com' User => 'you@gmail_labs.com', Password=> $pass, Socket => $socket, ) or die "Cannot connect to $host as $id: $@"; my %address_list; my @messages = $imap->messages(); foreach my $message (@messages) { my $envelope = $imap->get_envelope($message); my $from = $envelope->from(); foreach my $from_address (@{$from}) { $address_list{$from_address} = 1; } my $to = $envelope->to(); foreach my $to_address (@{$to}) { $address_list{$to_address} = 1; } my $cc = $envelope->cc(); foreach my $cc_address (@{$cc}) { $address_list{$cc_address} = 1; } my $replyto = $envelope->replyto(); foreach my $replyto_address (@{$replyto}) { $address_list{$replyto_address} = 1; } my $sender = $envelope->sender(); foreach my $sender_address (@{$sender}) { $address_list{$cc_address} = 1; } } $imap->logout(); my @address_list = keys %address_list; ...
Note that this will only catch message in the root IMAP folder ATM - although it can be easily extended. But then, does GMail have real "folders" as such?
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: correct gmail module?
by CSJewell (Beadle) on Apr 24, 2009 at 05:25 UTC |