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"; } }
In reply to Re: How to find when a new email arrives in my mailbox (outlook)
by vladdrak
in thread How to find when a new email arrives in my mailbox (outlook)
by gpurusho
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |