This works for me, season to taste:
use Win32::OLE;
use Win32::OLE::Const 'Microsoft Outlook';
my $username="username"; # fix me
my $outlook = Win32::OLE->CreateObject("Outlook.Application");
OLEErrChk("Create Outlook Object");
my $namespace=$outlook->GetNameSpace("MAPI");
OLEErrChk("Get MAPI Namespace");
my $ol=Win32::OLE::Const->Load($outlook);
OLEErrChk("Loading Outlook Constants");
my $logon=$namespace->Logon($username);
OLEErrChk("Logging in");
my $folder=$namespace->Folders(4);
OLEErrChk("Opening Folders");
my $inbox=$folder->Folders("Inbox");
OLEErrChk("Get a handle to the Inbox");
my $i=1;
while (my $msg=$inbox->Items($i)) {
OLEErrChk("Got message id $i");
my @lines=split/\n/,$msg->Body;
my $skills=0;
my %data=();
LINE: for my $line (@lines) {
# do something with the message body..
}
my $subject=$msg->Subject;
if ($subject =~ /something/) {
# blah
}
$i++;
}
sub OLEErrChk {
my $oleaction=shift;
my $errNum=Win32::OLE->LastError;
if ($errNum != 0) {
die "$oleaction failed: $errNum\n";
}
}
-
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.
|