Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Mail::IMAPTalk - Mark Unseen mails as seen once seen

by vinoth.ree (Monsignor)
on Jun 13, 2013 at 07:45 UTC ( #1038705=perlquestion: print w/replies, xml ) Need Help??
vinoth.ree has asked for the wisdom of the Perl Monks concerning the following question:

Hi Monks!

Actually I am writing a perl script to read the unseen emails from inbox using Mail::IMAPTalk and extract the attachments.

I successfully extracted the attachment files, but once the emails read from the emails server, i need to mark those emails as read so that my script will not read those emails again.

Here is the code connects with the Email server and gets the unseen emails.

sub Connection { my $imap = Mail::IMAPTalk->new( Server => $_[0], Port => $_[3], Username => $_[1], Password => $_[2], Separator => '.', RootFolder => 'Inbox', CaseInsensitive => 1, ParseOption => 'DecodeUTF8', ) || die "Connection failed. Reason: $@"; print "IMAP connection successful !\n"; # select the IMAP folder and the last not seen message $imap->select($_[4]) || die $@; my @MsgIds = $imap->search('not', 'seen'); if(@MsgIds){ foreach my $MsgId (@MsgIds) { # Fetch the message body as a MIME object my $MsgTxt = $imap->fetch($MsgId, "body[]")->{$MsgId}->{body} +|| die "Can't fetch the message !"; my $Msg = $imap->fetch($MsgId, 'envelope')->{$MsgId}->{envelop +e}; $Msg->{From} =~ s/(")|(<.*>)|(\s{2,})|(\s+$)//g; &Extract_Attachement( $MsgTxt ); } } else { die "No new message in the mailbox\n"; } } my $server = 'imap.secureserver.net'; my $username = 'xxxxxx'; my $password = 'xxxxxx'; # establish IMAP connection &Connection($server,$username,$password,143,'INBOX');

All is well

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1038705]
help
Chatterbox?
[Corion]: I mostly wonder how I can add this "reversal" to my toolchest, and if it's worth it or just clever
[choroba]: It should greatly simplify the parsing code, no flags or additional reading of the next buffer needed
[Corion]: choroba: Yeah, that's why I like that approach; it seems even quite obvious in retrospect to me, but many things are in hindsight ;)

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (9)
As of 2016-12-06 15:38 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    On a regular basis, I'm most likely to spy upon:













    Results (109 votes). Check out past polls.