[python-win32] Extended MAPI : ConfigureMsgService Problem

Whitaker, Simon SITI-SITI Simon.Whitaker at shell.com
Mon Jan 17 06:14:51 CET 2005


Hi all,
 
This is a pseudo follow-up post to a previous question regarding creating and
configuring MAPI profiles dynamically with Python.
 
There was no posted solution to the question (as far as I can see) so I thought
I'd opst again to see if anyone had any new ideas.
 
The code is pretty clearly defined in C on MSDN, but when translated to Python,
it fails when configuring services within the created profile.
 
Included below is the code snippet
 
---
from win32com.mapi import mapi, mapiutil, mapitags
 
profileName = "Test"
 
# Initialise
mapi.MAPIInitialize(None)
profileAdmin = mapi.MAPIAdminProfiles(0)
 
# Get the current profiles
profileTable = profileAdmin.GetProfileTable(0)
profileRows = mapi.HrQueryAllRows(profileTable, [mapitags.PR_DISPLAY_NAME_A], None, None, 0)
 
# Delete the profile if it already exists
for profile in profileRows:
if profile[0][1] == profileName:
    profileAdmin.DeleteProfile(profileName, 0)
    break
 
# Create the profile
profileAdmin.CreateProfile(profileName, None, 0, 0)
 
# Administer the profile services
serviceAdmin = profileAdmin.AdminServices(profileName, None, 0, 0)
serviceAdmin.CreateMsgService('MSEMS', None, 0, 0)
serviceAdmin.CreateMsgService('MSPST MS', None, 0, 0)
 
# Get the service table - looking for service IDs
msgServiceTable = serviceAdmin.GetMsgServiceTable(0)
msgServiceRows = mapi.HrQueryAllRows(msgServiceTable, None, None, None, 0)
 
# Get the service ID of the first service
serviceUID = msgServiceRows[1][0][1]
 
# Configure the MSEMS
propsTuple = ((mapitags.PR_PROFILE_UNRESOLVED_NAME, "NAME"),(mapitags.PR_PROFILE_UNRESOLVED_SERVER, "SERVER"))
serviceAdmin.ConfigureMsgService(serviceUID, 0, 0, propsTuple) <- !!! FAILS HERE !!!
 
# Uninitialise
mapi.MAPIUninitialize()
---
 
The error returned when debugging in PythonWin IDE is
 
---
Traceback (most recent call last):
File "createprofile.py", line 41, in ?
serviceAdmin.ConfigureMsgService(serviceUID, 0, 0, propsTuple)
com_error: (-2147221005, 'Invalid class string', None, None)
---
 
One possible issue is with the serviceUID, which when viewed in the IDE is
[}YÆ8PÍEÅ-4ÂfY] which looks pretty interesting.
 
Unfortunately, I have no way of telling if this is the problem, or if there is
another issue.
 
All assistance/ideas greatly appreciated.
 
Cheers,
Simon
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/python-win32/attachments/20050117/f740daca/attachment.htm


More information about the Python-win32 mailing list