What Would You Want From ColdFusion Microsoft Exchange Integration?

Home » What Would You Want From ColdFusion Microsoft Exchange Integration?

Here is your chance to help spec what could very well be a feature in the next major ColdFusion update! Ready?
One frequent ColdFusion feature request is for Microsoft Exchange integration, and this is something we are considering for “Scorpio”. Most ColdFusion use is on internal networks – intranets and portals and departmental sites. And so when you think about the types of applications being built in ColdFusion, Exchange integration actually makes a whole lot of sense.
But what does integration mean to you? What features do you need? How could you use Exchange integration from within your ColdFusion applications? Obviously, ColdFusion can send e-mail via , receive e-mail via , and access directory services via . But that is using Exchange, not really integrating with it. So, what else could you really use?
I have some specific ideas myself, but I am not going to share them (yet) so as to not lead the conversation. Rather, I’d like you to share your ideas and suggestions. If your organization uses Microsoft Exchange, please post your thoughts (the more detail the better).

107 responses to “What Would You Want From ColdFusion Microsoft Exchange Integration?”

  1. Steve Gustafson Avatar
    Steve Gustafson

    CFIMAP should definitely be the first thing! Not just for Exchange but for any IMAP account.

  2. Damien Avatar

    How about support for UTF-7? Yes, its a problem with JavaMail, but there’s no excuse for CF to not have a five line work-around to at least catch the error and not crash.
    Next off, the ability to integrate with calendar events. I’d like to be able to schedule events in Exchange that CF could pick up to launch tasks, or something. At the very least, to be able to create and update events programatically.

  3. Damien Avatar

    CFIMAP is seconded.

  4. Kathy Avatar

    I have a CF based site that allows users to register for internal training classes. Dates and times for these multiday classes are in the database. So when a user registers for a class I would like to add a link (or button or something) to the confirmation page to allow them to add the classes to their Outlook calender.

  5. Jason Nokes Avatar
    Jason Nokes

    We have Ipswitch’s IMail server integrated with our application. Our customers can add domain names to their account, click a button, and have that domain name and their user accounts setup in IMail automatically. When the customer logs into our application it gives them the number of new messages and a link that automatically logs them into the their mailbox. They can adjust their email address, add additional addresses, and adjust spam filtering and virus protection all from our application. The customers that use Outlook to retrieve email never even see an IMail screen. We have over 1,000 domain names in our system and most of them use this email service.
    We have some larger accounts that would like to use Exchange. I would like the integration to be as complete and easy as we have it with IMail. Even though we wrote all the integration code, it was very simple to do. Exchange has more features, but those additional features comes more complexity working with it programmatically. If CF had tags to do this integration it would be wonderful.
    Our integration needs are not from an intranet perspective, but an ISP perspective. We need to be able to setup domain names and mailboxes without all the Windows Domains and Users overhead. Our users will not have a Windows Network account.
    Jason Nokes
    DistributorCentral, LLC
    324 E. Main
    Gardner, KS 66030

  6. Chris Avatar

    To read & write calendar and contact info with exchange. Trying to do this now with an Intranet application, reading is working really well with webdav, having problems writing….

  7. Ian Welsh Avatar
    Ian Welsh

    Another vote for IMAP support

  8. Damien Avatar

    Kathy, just create an ICAL file and email it to them, Outlook can import ICAL files but just not syncronize them very well.

  9. Ben Forta Avatar
    Ben Forta

    Damien, just to clarfiy, do you want CF to respond to Exchange events (a reminder in Exchange triggers a page to be executed, for example), or do you want CF to be able to create and update events in Exchange?
    Kathy, do you want ColdFusion to update someone’s calendar programatically, or do you just want a way for the user to do something to add an event to Outlook? If the latter, you can do that already, just have CF create a vCal record (Outlook will open it and will allow the user to save the event). I believe there is even a UDF at that will create the vCal for you (many years ago, in a prior lifetime, I was involved in the vCal RFP, wow, seems like ancient history). Or do you want a way to update Exchange so that users need to nothing, you just add evenst to their calendar programmatically?

  10. Terrence Ryan Avatar
    Terrence Ryan

    We’ve used ColdFusion to add both contact information, and appointment information to people’s private boxes. For example a staff member updates their online directory information, which updates subscribers Exchange contacts, which then gets synched via BlackBerry to their handhelds in a matter of moments.
    As of now we’ve had to cludge together a Java based socket connection, and then use WebDav to write the information to Exchange. It works, but it’s fragile.
    It would be nice if ColdFusion could write to an Exchange Store as easily as it writes to other databases. (Even if Exchange still runs on Jet.)

  11. Kathy Avatar

    At first I was thinking about allowing the user the oppurtunity to add to their own calender, but the more I think about it, it would be better to be able to threat the class as a meeting request that the students from the enrollment table are invited to, so that if the time or location changes in the class database table, the students meeting in their outlook calender is updated. It would help with no shows.

  12. Tariq Ahmed Avatar
    Tariq Ahmed

    – Essentially the full ability if you wanted to, to create a Coldfusion based web "outlook" client. I know they have one, but that’s an easy way to sum up the powers needed.
    – Be able to retrieve data from Exchange such as mail, calendar

  13. Jon Hirschi Avatar
    Jon Hirschi

    First off, i’d like to say that this is an awesome idea. at my company, we’ve wanted to integrate with exchange for quite some time now, but not having an easy/quick way to do it has hampered us a bit. We are currently using all the work arounds, ical, vcard, etc.
    Things i’d like to see:
    – ability to read, write, delete calendar events within exchange
    – ability to send calendar events within the exchange format and then track those events and be able to change those events and send out notifications of changes.
    – support for inset images when working with emails
    – ability to schedule tasks and reminders.
    – ability to work with notes.
    – ability to work with/ update contact information
    – ability to access/work with/download/upload public file folders
    I don’t really want to duplicate the functionality of an email client. That has little value for us (we use exchange web mail) but the ability to function and interact with exchange and to generate some of these events within the would be a definate plus when it comes to integrating with current user processes.

  14. fernando Lopez Avatar
    fernando Lopez

    Our company has different meeting rooms and even though all reservations are handled by Outlook there’s always somebody overstaying in the room while others are waiting.
    I have always wanted to use Coldfusion to create a page that can go as the background of the desktop.
    The page would basically tap into Exchange and show all the information regarding the conference room.
    It could even change colors 15,5 minutes before the time is up.

    in one line: make a feature that allows us to view/update/create Calendar entries in Exchange.

  15. Steve Walker Avatar
    Steve Walker

    I would like to second Tariq’s call for total access to Exchange, but I would like to add Flex 2 to the mix. I see Flex as the obvious interface to such an application. How cool would it be to drop a calendar component into a Flex application and with a couple lines of code (via a CFC if necessary) have your Outlook calendar available.

  16. Thomas Ortega II Avatar
    Thomas Ortega II

    It’s been awhile since I’ve used Outlook, so excuse me if some of these things are possible easily with CF/Exchange now.
    One thing that would be neat, buidling on Fernando’s ideas, would be to make a web page that was a one-stop shop for the meeting with the following features:
    -Attendee list. There’d be the obvious color code for those who accepted the invite and those who didn’t. You’d also be able to have a color for those who are double booked, those who have out of office turned on, and, using a gateway interface, find out if they’re IM clients are set to away.
    -"You coming?" With a click of a button on the page, the organizer could send a simple email with the subject of "You coming?". We’d then be able to pull-in the meeting info and plop that into the body. We could also add, "This is an automated email. Please respond with a simple ‘yes’ or ‘no’. The organizer will be given your response in realtime and will know whether to continue or wait for you." The system can then update the attendee list based on that response.
    -Agenda Items. The cfserver would be able to act as a respository for the files necessary for the meeting, i.e. word docs, power point presentations, etc.
    -Meeting Notes. Meeting notes could then be typed into the page, stored and made searchable.
    -Action Items. Action items would then be created during the meeting and added to the responsible person’s Calendar and Task sections.
    -Follow-up. With a few clicks, you could then dispatch a copy of the meeting notes and all files (PPTs, DOCs, etc.) to whoever wanted them. Not to mention during meetings, it’s not uncommon for other’s peoples names to pop-up. "You know, you should bring Bob the Builder into loop. You’ll need sign off from him before you move forward with this." No problem, a quick lookup would find his email and add him to the list.
    Now, that’s just for meetings! =) The possiblities though should be as endless as that.

  17. Grant Avatar

    I have a couple of applications that may benefit from some kind of Outlook integration.
    The first one is an in/out board application that displays when someone is out of the office (traveling, vacation, sick, etc.). In addition to the technical challenge of pulling in Outlook schedule information, the other issue with this is that the in/out board is public (inside the company) but calendars are not, so I’m not sure how exactly to determine what Outlook information should or should not be automatically displayed. But the potential for eliminating redundant work for employees is there.
    The other application is a "travel orders" system that employees use to get approval for business trips. I’d like for this travel information, once approved, to automatically populate their public in/out board entry (which is easy), and also their private Outlook calendar.

  18. Pete Freitag Avatar
    Pete Freitag

    Just want to ditto some of the others and ask for IMAP support.

  19. Patrick Avatar

    It would be nice to be able to access user mailboxes via MAPI in addition to IMAP, but since this is something that can already be done another way, I’d say it’s more important to focus on:
    1. Read/write access to user calendars
    2. Access to public folders (both mail and calendar types)
    Given those two abilities (and an Exchange administrator who would enable IMAP!) I would be able to do all the Exchange integration that has ever been requested of me.

  20. Gary Fenton Avatar
    Gary Fenton

    For years I wanted to give intranet websites the ability to have a "click here to add this event/meeting to my calendar" button which would do this instantly and transparently. But then my client dumped Exchange in favour of Lotus Notes. (Yes, I know, I know!) Still this sort of functionality would help to embed CF into intranets where Exchange is used.

  21. Stacy Young Avatar
    Stacy Young

    Ability to integrate with Calendar. Read/Add/Update as well as respond to events from Exchange!

  22. John Burns Avatar
    John Burns

    I second the comments about IMAP and Calendar access. I’d love to be able to let users who are already familiar with the outlook calendar create events that could show up on the website. Same thing goes for contacts. To be able to leverage the list of contacts to either spit out all of the email addresses, search again the different fields within the contact list, etc.
    Task integration would be very nice if you could have your web application create tasks as necessary for different things. For instance, if you have a web app with an approval process, when something is submitted for approval, you could automatically create a task for the individual telling them to approve it. Not sure if this is possible or not, but it would be neat if they could do simple approvals from the Outlook form itself. I believe that requires messing with outlook though and not so much using CF. It can’t hurt to ask though 🙂

  23. Marc Truitt Avatar
    Marc Truitt

    I work in county government our IT department is primarily a Microsoft development shop so any type of Microsoft integration is a great idea. Exchange integration is something we are really looking for, key needs would be the following.
    Retrieve mail, calendar information, notes and folders (private, public, shared)
    Post and update calendar information
    Post and edit task
    Search Exchange folders, notes and calendar information
    Easy for developers to use and administrators to configure.

  24. Tariq Ahmed Avatar
    Tariq Ahmed

    Regarding John Burns: Exactly. This opens up the ability to integrate Exchange into your workflows. If you have an event management tool, bam goes into the calendars of those who have signed up. If you have a ticketing/bug tracking/CRM tool you can bridge that to Exchange by creating tasks that the user has to do…
    On another note, I’d like to see CF have the ability to build JSR168 portlets.

  25. Doug Laakso Avatar
    Doug Laakso

    An idea we will soon be exploring is how to integrate Outlook with attendance. Allowing an employee to make a request for absence. Manager approving the request by viewing a calendar of his/her empoyees to determine if functional requirements will be met. If we could overlay several employees calendars a manager would be able to tell at a glance.

  26. Michael Dawson Avatar
    Michael Dawson

    I would definitely love to help testing the MS Exchange (MSX) integration with Scorpio!
    As far as my list goes (not in any order):
    1. DON’T make this a CF Enterprise-only feature, PLEASE!!! Many small shops can not afford CF Enterprise, even though they can afford Exchange.
    2. Fast IMAP access. With MSX, IMAP is not a speedy protocol especially with a folder that contains many email messages. Use CFX_IMAP4 as a control. It’s pretty fast in itself, but the bottleneck is MSX.
    3. Full, if possible, MAPI access. Bascially, give me the same abilities that Outlook has. If Outlook can do it, give us the ability from CF.
    4. CF must understand the difference between objects in folders. For example, normally, the Inbox contains messages. However, you can drag other types of mailbox objects into a mail folder. I refer to the Message Classes. Google "IPM." for examples. CF must know that appointment items contain attributes that messages don’t. Basically, most objects inherit from message objects.
    5. CF must understand the flags within messages. These flags include items such as importance, appointment labels, custom fields (usually accessed as an array using an integer value).
    6. This is somewhat an AD/LDAP request, but it would be absolutely great if CF would handle recursive group membership retrieval.
    7a. CF must understand recurring appointments. We should have the ability to retrieve the recurring settings. For example, CF should be able to say "Repeats Every Monday From Jan 1, 2005 to Dec 31, 2005" (or something like that).
    7b. CF should not require us to "build" the recurrance when retrieving appointments from the MSX database. For example, if an MSX calendar contains an appointment that repeats every Monday, CF should return an array, or query, that already calculates all recurrances and not just the first occurance.
    8. Many of the previous suggestions can be fulfilled with a simple LDAP query. You should consider this fact before building a native function within CF. Exceptions are welcome if the native function would improve performance or coding as opposed to an LDAP tag.
    9a. I want the ability to traverse through a mailbox to get a hierarchy of the folders, regardless of depth, and return a message count and relative folder size for each folder. I wrote an ASP page that does just this, but it is a pain to code and maintain. CF should make this very easy.
    9b. CF should be able to quickly get a total size for each mailbox w/o having to traverse each folder in each mailbox. The MSX system admin console can do this now. We don’t need an exact up-to-the-second report. We just need a pretty-recent report.
    10. Creating mailboxes is a snap, using LDAP. I want to be able to remove mailboxes once they are no longer needed. I want to create a custom MSX administration application to improve the life of our MSX administrator. In other words, I want CF to give me the ability to control a mailbox through its entire lifetime.
    11. Let CF compact, repair, report mailserver/mailbox/storage group status/health, etc.
    12. CF can get quite a bit of information about MSX storage groups and mailbox stores from AD using LDAP. It would be nice to make this information eaily available with a native function in CF. I built a CF-based app that lets users see why their mailbox is full and can’t send/receive messages. It also shows their mailbox size and if the size is a default or not.
    13. A MSX gateway would be awesome. It could respond to certain MSX events such as when the mailbox store gets to a certain limit. A gateway that could react to an appointment reminder would be great. Not everyone has a PDA that can sync to Outlook/MSX. The gateway could send a SMS/IM to the mobile device to warn of an upcoming meeting if the person is away from their desktop.
    14. Currently, I have a web app (built with classic ASP) that queries a mailbox’s calendar, retrieves all events and then stores them in a SQL database. Then, our web servers pull from the quick database rather than the slower MSX server. The main problems are CF does not currently support CDO integration (CF5 did, however) and that the ASP page must be run on the mail server itself. Therefore, CF MUST be able to connect to a "remote" mail server and not need to be installed on the mail server itself.
    15. I repeat. PLEASE DON’T make this a CF Enterprise-only feature!!!
    16. Make it easy to create additional email addresses for a mailbox while checking for uniqueness in the AD. (I built a tool that does this, but it’s a booger.)
    17. Give CF the ability to easily maintain permissions in MSX, or any AD object, for that matter. For example, I want to create a generic, non-human mailbox and then give access to a domain group.
    18. CF should be able to view/set allowed relays.
    19. CF should be able to view/set global message sending/receiving limits.
    20. CF should be able to track messages and provide a report. (Refer to MSX Message Tracking)
    21. CF should be able to view/set email addresses to block senders. (Sender Filtering)
    22. CF should be able to manage any of the installed, known protocols running on an MSX server.
    Sorry if this list is a bit long, but you asked for it. ;^)

  27. Marc Henkel Avatar
    Marc Henkel

    We had been doing our Exchange integration using CDO via COM. With CFMX, COM is just not preferable anymore (at least for us). However, I noticed there is a cdo.jar file in the lib directory of our CFMX install. Using some of the j-integra examples I found, I was able to cobble together a working script that sends mail through our Exchange servers by instantiating the com.intrinsyc.cdo classes inside CF. However, I have concerns that this might be considered using "undocumented" features? I posted a question like this on the Macromedia developer forums, but no one answered it. I know the J-integra classes were OEM’d for COM integration, but it seems like the J-Integra CDO code is there as well. Is using it still playing by the "rules"?

  28. Ulf Avatar

    Yet another CFIMAP vote. I know Windows is a often used Hosting Platform – but please don’t do Exchange only extensions and forget other platforms… And if you going to implement exchange integration make it work on ALL CF supported platforms.

  29. rd Avatar

    Maybe I’ve been outside of Lockheed for too long, but Exchange integration… meh… Haven’t had access to an exchange server in many years. Imap support would be great though. How bout better Acrobat integration 😉
    Seriously though, I’d like to see CF having full control over pdf, ala the iText libraries.

  30. Joe Lencioni Avatar
    Joe Lencioni

    I’d like to also throw my vote in for IMAP support.

  31. Mujeebur Rahmansaher Avatar
    Mujeebur Rahmansaher

    i support Tariq’s idea and would definitely go for CFIMAP tag !

  32. Brian Philippus Avatar
    Brian Philippus

    I’d love the functionality, especially since we are getting the 2yr subscription this time.
    IMAP, not such a big deal to me. Creating meeting requests and reading the accept/deny results and the ability to update Distribution Lists would be my top 2 requests.

  33. Michael Dawson Avatar
    Michael Dawson

    I also like the idea of having IMAP built-in to ColdFusion, but look at the marketing facts. Exchange is a huge player in the world of IT. Sure, there are a few other systems: Notes and Groupwise, so maybe their integration will come later.
    At some point, CF cannot continue to *not* have a specialized implementation such as an Exchange connector. I’m no marketer, but I do see a huge potential with native Exchange functionality in CF.
    Our former Asst VP of IT is a HUGE Microsoft fan. I’m sure there are many of those people out there who are making the final decision.
    Logic dictates that these Microsoft fans will take a second look at CF if it plays well with one of the Microsoft flagship products.
    Sorry if I sound selfish, but I personally don’t care much about non-Windows platforms. We are a Microsoft shop and I see no need to switch platforms anytime soon or in the future.
    So, Adobe, please give me some great integration with our enterprise groupware.

  34. Seth Petry-Johnson Avatar
    Seth Petry-Johnson

    I haven’t done anything with LDAP to AD yet so I don’t know what is already possible, but CF tag wrappers to this functionality would be welcome from my point of view.
    Primarily I would be interested in the calendar and task management features of Exchange. Currently my application sends out "to do" emails when certain events happen, things like "Item xyz has arrived at the warehouse, please add to website". I’d love to replace these emails with actual tasks that will show up in Outlook’s task bar.

  35. Ben Forta Avatar
    Ben Forta

    Wow, lots of great feedback. Keep posting ideas and suggestions. The CF team *IS* reading this thread. Also, if you have specific use cases, examples, of how you would use this functionality, please share. So, beyond saying "I want to be able to read and write caledar entries", if you could share how this would be used in your app, in what types of apps, and how it would be used, that would be really useful.
    And yep, lots of you want IMAP support. Gotcha! 🙂

  36. Tom K Avatar
    Tom K

    To expand on a previous concern about this stuff being in the Enterprise version only. How about splitting the difference:
    All the proposed enhancements are implemented as CF tags in the Standard edition and repeated again in Enterprise, but Enterprise also contains the event gateway equivalents of the same tags.
    Also a vote for improving the existing LDAP tag, to (optionaly) make it more MS Active Directory specific. For example, apply standard CF formatting to the many date stamp attributes scattered through out AD.

  37. Cliff Meyers Avatar
    Cliff Meyers

    Yet another vote for IMAP support. IMHO since CF is built to be cross-platform it should support open standards first and proprietary extensions second. Additionally, I’d like to see the ability to perform CRUD on calendar items and contacts.

  38. Mark Ireland Avatar
    Mark Ireland

    If the way a flight booking is sent as a form becomes standardised, then intergrate cf and Exchage so that this becomes a simple workflow for the approval of a booking.

  39. jim collins Avatar
    jim collins

    It seems like it would be optimal to look at whats already been done with Ximian and Novell Evolution for MAPI support etc. The idea of writing directly to the JET database is not-so-good IMHO.

  40. Jeff Garza Avatar
    Jeff Garza

    I’ll ditto the need for IMAP. On specific Exchange information, I think that free/busy status as well as integration with other calendar features would be cool. Although, one big stumbling block that I see is the lack of true passthrough authentication of windows credentials. CF needs to support true integrated windows auth so that the current user would see only what they need to see and not what the coldfusion service is running as.

  41. Mark Ireland Avatar
    Mark Ireland

    I have inherited an intranet where the Exchange Global Address list is used to populate the users login table.
    Cant we do better than that?

  42. Rif Kiamil Avatar
    Rif Kiamil

    Our exchange server is used for e-mai,fax,sms and voice mail (with Cisco unity and XMedius Fax).
    We have built an application on our CF based intranet for case management and would like to be able to link any item from an any folder in exchange to it a case and then have some sort of web based viewer where u could pass some sort of exchange GUID to view the information about that item
    Also be cool would have coldfusion to index exchange and look for customer account numbers or e-mails in the system and automatically attach or link then item to our customers history

  43. Dale Fraser Avatar
    Dale Fraser

    The ability to
    1. Create Mailboxes (Under specific domain names for multi domain sites)
    2. Delete Mailboxes
    3. Change Mailbox Details, ie, Name Password etc.
    This enables a CF portal to hand out exchange email addresses when signing up.
    Ie say you were developing a portal called when you sign up you get a free which is an exchange account, thus you get all the lovely Web Access stuff that comes with Exchange

  44. Dale Fraser Avatar
    Dale Fraser

    I see CF big in intranet and document management possibilites with Adobe on board. So this must intergrate with Exchange Public folders and reminders so that you can put items in / out of public folders and set reminders for people to update docs etc.

  45. Dex Avatar

    From Exchange and Coldfusion integration I would like to be able to:
    1. create world peace
    2. understand God and the universe
    3. never get haemorrhoids
    If you could organise that into the next major release, it would be great. Thanks, Dex.

  46. Jason Sheedy Avatar
    Jason Sheedy

    It would be nice to see all of the outlook features like IMAP, contacts, calandar, notes, etc integrated into CF. Some third party java products allready do this stuff.
    I’m currently looking for a way to programatically CRUD exchange mailbox accounts and domains. It would be reaaallly nice if it was integrated into CF, but does anyone know how to do it now or where i should start looking?

  47. Michael Dawson Avatar
    Michael Dawson

    I’ll post a few actual use cases tomorrow when I get back to the office.
    As far as creating mailboxes, you can already do that using CFLDAP. All you need to do are set a few attributes in AD. Then, Exchange’s Remote Update Service (RUS) will create the mailbox based on those attributes.
    The following are three different combinations of AD attributes that can be used to create an Exchange mailbox.
    As you can see, creating Exchange mailboxes is almost effortless. The difficult, if not impossible, task is removing mailboxes.

  48. Michael Dawson Avatar
    Michael Dawson

    Mark, can you explain your comment of "I have inherited an intranet where the Exchange Global Address list is used to populate the users login table."?
    What do you mean the GAL is used to populate a login table?

  49. Michael Dawson Avatar
    Michael Dawson

    I would also like to be able to display the current mail queues in Exchange.
    I want to know how many messages are sitting in the incoming queue and how many are in the outgoing queue.
    We are using an Exchange plugin for our spam filtering (GFI Mail Essentials) and it tends to slow down the delivery of mail.
    It would be great to have a web application that would show our help desk any queue bottlenecks in case they get calls about slow delivery.

  50. Michael Dawson Avatar
    Michael Dawson

    One other great use for the Exchange integration would be for resource scheduling. For example, our help desk is responsible for scheduling computer carts, LCD projectors and sound systems. I batch-created many Exchange mailboxes to be used for these resources.
    I would envision a web-based application that would present daily or weekly reports of resource schedules.
    I don’t know if I would go so far as to actually schedule the resources since one person would do that using Outlook, but we do have several people that would need to see the reports.

Leave a Reply