On Aug 27, 2:00 pm, "Gabriel Genellina" <[EMAIL PROTECTED]> wrote: > En Fri, 24 Aug 2007 04:03:05 -0300, Mick Duprez <[EMAIL PROTECTED]> > 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('[EMAIL PROTECTED]','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('[EMAIL PROTECTED]','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
Thank you very much Gabriel, changing the NULL to None did the trick (it also helps if I reload the changed module after editing!:( ). Yes that is an old script and I will look into your suggestions. Basically I'd just like to use the default mail client (windows or Unix/Linux) to send simple mail with attachments, this way I can log the attachments I send to a db for example for document transmittal/ register reports etc. Thanks also for the code explanations, Cheers, Mick. -- http://mail.python.org/mailman/listinfo/python-list