Stubbing out a MAPI DLL

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Stubbing out a MAPI DLL

yahody
Hi,

I received a request recently to create a Python application that can be
set as a default email client so that we can use the "Send To Mail
Recipient" functionality found in MS Office, Adobe products, etc to send
the mail to our Zimbra web client.

After much research, I think I need to stub out some kind of MAPI
implementation and make it into a DLL. Does anyone have any knowledge of
how to do that? I thought I might be able to use IronPython for this
since I couldn't find a good way to do it with normal Python. Thanks a lot!

- Mike
_______________________________________________
Users mailing list
[hidden email]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
Reply | Threaded
Open this post in threaded view
|

Re: Stubbing out a MAPI DLL

Daniel D.-4
There are very few good MAPI libraries. The only one that worked more
or less reliably for me is this Redemption
(http://www.dimastr.com/redemption/). Because it's so difficult to
find a MAPI lib for your language, it's easier to wrap Redemption into
into a .Net app and wrap IronPython scripting into that on the other
side.

Trial version of Redemption prepends "UNREGISTERED" to subject lines
on email objects it creates and nags you every time you start Outlook
/ MAPI client. Yet, it's a good place to start if it will work for
you.

Daniel.


On Tue, Apr 5, 2011 at 13:59, Mike Driscoll <[hidden email]> wrote:

> Hi,
>
> I received a request recently to create a Python application that can be set
> as a default email client so that we can use the "Send To Mail Recipient"
> functionality found in MS Office, Adobe products, etc to send the mail to
> our Zimbra web client.
>
> After much research, I think I need to stub out some kind of MAPI
> implementation and make it into a DLL. Does anyone have any knowledge of how
> to do that? I thought I might be able to use IronPython for this since I
> couldn't find a good way to do it with normal Python. Thanks a lot!
>
> - Mike
> _______________________________________________
> Users mailing list
> [hidden email]
> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>
_______________________________________________
Users mailing list
[hidden email]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
Reply | Threaded
Open this post in threaded view
|

Re: Stubbing out a MAPI DLL

Daniel D.-4
You could also wrap COM objects (Redemption is a COM object) into
cPython through it's Windows api. I wrapped other COMs into cPy on
windows before, just never Redemption. Yet, this way you may end up
making it work with cPython.

--
Daniel.

On Tue, Apr 5, 2011 at 17:45, Daniel D. <[hidden email]> wrote:

> There are very few good MAPI libraries. The only one that worked more
> or less reliably for me is this Redemption
> (http://www.dimastr.com/redemption/). Because it's so difficult to
> find a MAPI lib for your language, it's easier to wrap Redemption into
> into a .Net app and wrap IronPython scripting into that on the other
> side.
>
> Trial version of Redemption prepends "UNREGISTERED" to subject lines
> on email objects it creates and nags you every time you start Outlook
> / MAPI client. Yet, it's a good place to start if it will work for
> you.
>
> Daniel.
>
>
> On Tue, Apr 5, 2011 at 13:59, Mike Driscoll <[hidden email]> wrote:
>> Hi,
>>
>> I received a request recently to create a Python application that can be set
>> as a default email client so that we can use the "Send To Mail Recipient"
>> functionality found in MS Office, Adobe products, etc to send the mail to
>> our Zimbra web client.
>>
>> After much research, I think I need to stub out some kind of MAPI
>> implementation and make it into a DLL. Does anyone have any knowledge of how
>> to do that? I thought I might be able to use IronPython for this since I
>> couldn't find a good way to do it with normal Python. Thanks a lot!
>>
>> - Mike
>> _______________________________________________
>> Users mailing list
>> [hidden email]
>> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>>
>
_______________________________________________
Users mailing list
[hidden email]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
Reply | Threaded
Open this post in threaded view
|

Re: Stubbing out a MAPI DLL

Sumit Basu
I'd suggest using Exchange Web Services instead of MAPI - in my experience, I've found MAPI to be very tricky to use*, and small errors from an independent program using MAPI can cause painful problems (such as Outlook no longer working!).  I've used EWS from IronPython/Sho before and found it to be quite a smooth experience.  You'll have to use wsdl.exe to generate the stub library from your exchange server, then once you do, you can follow the many EWS C# examples on the web and easily translate them to IronPython.

-Sumit

*Disclaimer - I'm not a COM expert, so if I knew what I was doing, perhaps I wouldn't have run into those problems :)

-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of Daniel D.
Sent: Tuesday, April 05, 2011 5:51 PM
To: Discussion of IronPython
Subject: Re: [IronPython] Stubbing out a MAPI DLL

You could also wrap COM objects (Redemption is a COM object) into cPython through it's Windows api. I wrapped other COMs into cPy on windows before, just never Redemption. Yet, this way you may end up making it work with cPython.

--
Daniel.

On Tue, Apr 5, 2011 at 17:45, Daniel D. <[hidden email]> wrote:

> There are very few good MAPI libraries. The only one that worked more
> or less reliably for me is this Redemption
> (http://www.dimastr.com/redemption/). Because it's so difficult to
> find a MAPI lib for your language, it's easier to wrap Redemption into
> into a .Net app and wrap IronPython scripting into that on the other
> side.
>
> Trial version of Redemption prepends "UNREGISTERED" to subject lines
> on email objects it creates and nags you every time you start Outlook
> / MAPI client. Yet, it's a good place to start if it will work for
> you.
>
> Daniel.
>
>
> On Tue, Apr 5, 2011 at 13:59, Mike Driscoll <[hidden email]> wrote:
>> Hi,
>>
>> I received a request recently to create a Python application that can
>> be set as a default email client so that we can use the "Send To Mail Recipient"
>> functionality found in MS Office, Adobe products, etc to send the
>> mail to our Zimbra web client.
>>
>> After much research, I think I need to stub out some kind of MAPI
>> implementation and make it into a DLL. Does anyone have any knowledge
>> of how to do that? I thought I might be able to use IronPython for
>> this since I couldn't find a good way to do it with normal Python. Thanks a lot!
>>
>> - Mike
>> _______________________________________________
>> Users mailing list
>> [hidden email]
>> http://lists.ironpython.com/listinfo.cgi/users-ironpython.com
>>
>
_______________________________________________
Users mailing list
[hidden email]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

_______________________________________________
Users mailing list
[hidden email]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com