[spambayes-dev] Any thoughts on this exception?

Marko von Oppen marko at von-oppen.com
Tue Jan 2 16:26:25 EST 2024


Do you have a Outlook object model matching your Outlook version? Maybe 
you could generate one with 'makepy' and check if using this makes any 
difference.


Am 30.12.2023 um 04:11 schrieb John Cherney:
>
> Ok. I’ll take that as good news.
>
> I have been able to reproduce this exception through the IDE debugger 
> by just running msgstore.py by itself. It appears that the call to 
> MAPIMsgStore constructor (in function test) is returning successfully, 
> and it looks like valid data. The exception happens on the next line, 
> in the store.GetFolderGenerator function. I can’t seem to generate a 
> valid folder (store_id and entry_id tuple). The store_id and entry_id 
> are strings. Are they supposed to be encoded as something else in 
> Python3 in order to work with pywin32 and mapi? Byte strings don’t 
> seem to work. The call originally had mapi.BinFromHex in NormalizeId, 
> but that doesn’t seem to work with Python strings, or byte strings. 
> Because NormalizeId isn’t generating something useful, the call to 
> _OpenEntry a few lines later, which calls _GetMessageStore, which 
> calls session.OpenMsgStore, fails.
>
> I’m not familiar enough with this Outlook Add Ins or the pywin32 
> library to guess a next step. Could this be a permissions issue? I’d 
> like to think not, since the 32 bit version of Outlook works with 
> Spambayes, and, with the 64 bit version of Outlook, the MAPILogonEx 
> call seems to work.
>
> jwc
>
> *From:*Mark Hammond <mhammond at skippinet.com.au>
> *Sent:* Thursday, December 14, 2023 11:29 AM
> *To:* John Cherney <jwcherney at hotmail.com>; spambayes-dev at python.org
> *Subject:* Re: [spambayes-dev] Any thoughts on this exception?
>
> That exception looks more like we can't access the message store 
> rather than a 64/32 bit mismatch. It may be that you need to enable 
> MAPI access or something similar but I'm afraid I've never used newer 
> versions of office. Googling for MAPI_E_INVALID_ENTRYID with Office 
> 365 is probably the best path forward.
>
> Cheers,
>
> Mark
>
> On 2023-12-13 11:37 p.m., John Cherney wrote:
>
>     I’ve made some progress. I’ve cloned smontanaro’s spambayes repo
>     and used that as a starting point. I think I’ve gotten most, of
>     the 2.x to 3.x conversions. I have the Add-in registered. I have
>     the Add-ins menu showing up. But (and there has to be a ‘but’) I
>     can’t seem to get the win32com mapi to read anything meaningful. I
>     haven’t seen anything helpful in my Google searches. I’m throwing
>     this out there hoping that someone has seen something like this
>     and can get me unstuck.
>
>     Loaded bayes database from 'C:\<redacted>\default_bayes_database.fs'
>
>     Loaded message database from
>     'C:\<redacted>\default_message_database.fs'
>
>     Bayes database initialized with 0 spam and 0 good messages
>
>     SpamBayes Outlook Addin Version 2.0a1 (Aug 25, 2022) from source
>
>     on Windows 10.0.19045 ()
>
>     using Python 3.12.0 (tags/v3.12.0:0fb18b0, Oct  2 2023, 13:03:39)
>     [MSC v.1935 64 bit (AMD64)]
>
>     Log created Wed Dec 13 22:53:24 2023
>
>     *** SpamBayes is NOT enabled, so will not filter incoming mail. ***
>
>     Creating new SpamBayes toolbar to host our buttons
>
>     Error finding the MAPI folders for a folder switch event
>
>     ERROR: 'There appears to be a problem with the SpamBayes
>     configuration\r\n\r\nPlease select the SpamBayes manager, and run
>     the\r\nConfiguration Wizard to reconfigure the filter.'
>
>     Traceback (most recent call last):
>
>       File "C:\<redacted>\spambayes\Outlook2000\msgstore.py", line
>     347, in GetFolder
>
>         folder = self._OpenEntry(folder_id)
>
>     ^^^^^^^^^^^^^^^^^^^^^^^^^^
>
>       File "C:\<redacted>\spambayes\Outlook2000\msgstore.py", line
>     274, in _OpenEntry
>
>         store = self._GetMessageStore(store_id)
>
>     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
>       File "C:\<redacted>\spambayes\Outlook2000\msgstore.py", line
>     247, in _GetMessageStore
>
>         store = self.session.OpenMsgStore(
>
>     ^^^^^^^^^^^^^^^^^^^^^^^^^^
>
>     pywintypes.com_error: (-2147221241, 'OLE error 0x80040107', None,
>     None)
>
>     During handling of the above exception, another exception occurred:
>
>     Traceback (most recent call last):
>
>       File "C:\<redacted>\spambayes\Outlook2000\addin.py", line 1178,
>     in OnFolderSwitch
>
>     mapi_folder = self.manager.message_store.GetFolder(outlook_folder)
>
>     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
>       File "C:\<redacted>\spambayes\Outlook2000\msgstore.py", line
>     355, in GetFolder
>
>         raise MsgStoreExceptionFromCOMException(details)
>
>     msgstore.MsgStoreException: MsgStoreException: Exception
>     0x-7ffbfef9 (MAPI_E_INVALID_ENTRYID): OLE error 0x80040107
>
>     ERROR: 'There appears to be a problem with the SpamBayes
>     configuration\r\n\r\nPlease select the SpamBayes manager, and run
>     the\r\nConfiguration Wizard to reconfigure the filter.'
>
>     One thing I’m suspicious of (and I hope I’m wrong) is if the
>     problem is the win32 related modules. I’m doing this on a 64bit
>     machine, trying to get this to work with the 64bit install of
>     Outlook (Office 365). Could that be my problem? Should I be
>     looking for win64 related modules? (Do any exist? I didn’t see any
>     on pypi.org? Or is that also a wrong direction?) At this point, I
>     don’t know enough about COM or 32bit vs 64bit to know what to try
>     next.
>
>     Thanks in advance,
>
>     jwc
>
>
>
>     _______________________________________________
>
>     spambayes-dev mailing list
>
>     spambayes-dev at python.org
>
>     https://mail.python.org/mailman/listinfo/spambayes-dev
>
>
> _______________________________________________
> spambayes-dev mailing list
> spambayes-dev at python.org
> https://mail.python.org/mailman/listinfo/spambayes-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.python.org/pipermail/spambayes-dev/attachments/20240102/e55a147e/attachment.html>


More information about the spambayes-dev mailing list