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
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.