http://www.perlmonks.org?node_id=683703

The error 0x80040111 is MAPI_E_LOGON_FAILED I don't quite understand how you are getting this error because we are + only using logon to init MAPI not to do anything. Logon returns unde +f regardless of success or failure. Did you add/change some code? Tha +t is a Win32::OLE::LastError() message and the only times I call that + I call it with die so you should only get one :-) You don't actually say if the output works. The logon is somewhat notional as we were just using it to init MAPI. +If returns undef regardless. I have some updated code that tries a mo +re formal login. It may help. I did manage to reproduce a version of +your error when I had login code in the two subs that call MAPI when +the first one called logon like this: MAPI->Logon( {'ProfileInfo' => "blah"}, undef ) and the second one called it without the undef. This was documented in + what looks like a bug workaround. I now just do a single MAPI login +at the start and init MAPI after Outlook in case that helps. This new + code still works fine for me. MAPI is a pain. It used to work but Microsoft broke it badly in 2002 w +ith Outlook SR 2 because of all the trojan problems they were having. Although I simply avoided using it for most of the code (accessing dat +a through the Outlook interface) the Outlook interface does not expos +e certain details of the object model - particularly the Fields metho +d. You can see in the code where we use fields to get the header and +other details to fake a header (for example sent mail does not have a + real header because it was never "sent" through a mailer (at least o +n the storage side) There is a note about this error here: http://www.ureader.com/message/252072.aspx and another here http://www.querycat.com/faq/3d7ee57b7b443939d913ff34d5047edf As you will note we were not passing any logon details. This worked fo +r me as it defaults to Outlook. If you had a session that was talking + to exchange I might well try a null logon to there. Another possibil +ity is that you have another logon session running on the machine you + are using. This appears to break things. Having Outlook open seems t +o have helped in one instance although it runs fine for me here with +Outlook closed. Outlook on some systems leaves instances running so a + quick 3 finger salute [ctr]+[alt]+[del] | Processes | Select all Out +look processes and and kill them with End Process.