Error with Simplemapi.py
Gabriel Genellina
gagsl-py2 at yahoo.com.ar
Mon Aug 27 00:00:21 EDT 2007
En Fri, 24 Aug 2007 04:03:05 -0300, Mick Duprez <duprez at hinet.net.au>
escribi�:
> I have a small problem. I get an error I don't know how to resolve,
> any help would be much appreciated.
> I'm using Python25 on winXP pro and the script from the link above.
> Here's the error -
>
>>>> mailtest.SendMail('noone at somewhere.net','test','test
>>>> string','c:\dbs.txt')
That should be 'c:\\dbs.txt' or r'c:\dbs.txt'
> Traceback (most recent call last):
> File "<pyshell#10>", line 1, in <module>
> mailtest.SendMail('noone at somewhere.net','test','test string','c:
> \dbs.txt')
> File "C:\Python25\mailtest.py", line 135, in SendMail
> cast(NULL, lpMapiRecipDesc), RecipCnt, recip,
> File "C:\Python25\lib\ctypes\__init__.py", line 478, in cast
> return _cast(obj, obj, typ)
> ArgumentError: argument 1: <type 'exceptions.TypeError'>: wrong type
>>>>
I'm unsure what those cast(NULL, ...) are supposed to do, but they look
all wrong. NULL, as defined on that script, is *not* a C NULL pointer (use
None for that).
(In fact the whole script doesn't look well at all - do you *have* to use
MAPI? can't use SMTP instead? Even if you must use MAPI, try the pywin32
package from Mark Hammond, it has MAPI support and a demo script for
sending mail)
> I have had a brief look at the C api for these structs and functions
> but I can't resolve it, it is probably something simple.
> The piece of code I don't understand though is this -
>
> MapiRecipDesc_A = MapiRecipDesc * len(RecipWork) #size of struct??
This declares a new type, an array of len(RecipWork) items, each of type
MapiRecipDesc
> rda = MapiRecipDesc_A() # isn't it MapiRecipDesc as declared??
This creates an instance of the above array.
--
Gabriel Genellina
More information about the Python-list
mailing list