Outlook/Exchange/MAPI integration
Hi there,

Has anyone ever built an extension to integrate with an Exchange Server, through MAPI (https://en.wikipedia.org/wiki/Messaging_Application_Programming_Interface)?

I recommend that you take a look at Exchange Web Services (EWS). That will be much more compatible both with the "modern" way of doing stuff in .NET (Web Services) and with Agile Platform, since you should be able to import the references (I haven't tried that end in Agile Platform though). I programmed against EWS about a year ago, it wasn't bad. I'd be happy to get you pointed in the right direction.

Hi Justin,

Thanks for your reply.

This sounds like a great idea, didn't know it was possible to integrate with Exchange through Web Services. The API seems pretty straight forward.

However, I'm having trouble finding the WSDL and XSD signatures as described in MSDN - seems that I have fisrt to install the SDK in an Exchange Server which I currently don't have available to prove the concept... would you have any samples of these files, by any chance?

Pedro -

I *do* indeed have access to the WSDLs, at least the ones for Exchange 2007. Send me a private message with your email address in it, and I will get a copy of those WSDLs to you.

Hi Pedro,

I did a lot of integration with Exchange via MAPI a few years ago so I could eventually help you out there... but totally agree with Justin on this. EWS would be much better for your scenario (considering your scenario is a web app in OutSystems :) ).

MAPI is too targeted at rich clients development (session based, interface too "chatty" for some things) and, at least at that time, there was no .Net version provided by Microsoft. We had to build our own using Interop, things I usually do not recommend on web based systems, even less on a 1-ClickPublish environment that you do not want to mess too much with Windows DLLs.

My vote to EWS... and to you publishing a component after doing it :) :)

Hi all,

My main quest with this post was to get a workaround on an customer's feature that wasn't being able to send emails with a specific SMTP syntax, supported by MAPI. Nevertheless, given the interest on EWS, I'll be happy to do some research and publish a sample for everyone to try out.

My first task: finding out an Exchange Server with EWS installed so that I can run some tests...

Wait for news, soon :)

Hi Pedro,

Do you have done some integration with EWS?
Can you post some example. I am currently preparing an approach to that for a new customer. An example would be appreciated. Something like calendar syncronization... etc...

Thanks for your help.

Best Reggards,
Nuno Mendes
Hi Nuno,
I do have some integration with EWS, full credits to Ricardo Araújo.
Unfortunately, my efforts to find a testable Exchange Server were never accomplished, so be sure to test it well. Check out the attached extension, ExchangeConn.xif

Happy testing :)

hi Pedro,

I am wanting to get further detail on your extension, Exchangeconn.xif.
A couple of questions...

Is there any documentation on the operation and functionality and the definition of required parameters?
Can it access exchange servers that are remote from the application server, and if so, how is that achieved?

Thanks in advance for any assistance, will be greatly appreciated
Hi Alan,

I'm sorry, but I didn't get to use that extension due to the above mentioned reasons. However, I believe a brief code introspection can provide answers to your question. You can also find more about the Exchange Web Services Reference at https://msdn.microsoft.com/en-us/library/exchange/bb204119(v=exchg.140).aspx

Regarding the access to exchange servers remote to the application server, I'd check the extension code again and modify it to my needs - perhaps not hardcoding but passing it through an extension parameter:


Thanks Pedro

We have created a meeting scheduler on Outsystems. We want meeting schedules to be synced with Outlook. Is it possible to integrate and what is the experience? Is it seamless ? Please advise which particular forge component we should use?

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.