Browse by Tags

Tagged Content List
  • Blog Post: How to use CDO 1.2.1 to connect to Exchange 2013 using a dynamic profile

    NOTE: This article only applies to Exchange's MAPI \ CDO download. It doesn't apply to using CDO 1.2.1 with an Outlook 2007 client. I was discussing an issue recently with a customer and I asked him to connect to the Exchange server using CDO 1.2.1. Then I realized that I had never tried that myself...
  • Blog Post: Async MAPI Notifications in Exchange are a problem for MAPI clients that impersonate

    I had a case six months ago where the customer was using Exchange’s MAPI against Exchange 2013 and was seeing a number of MAPI_E_NETWORK_ERRORs in his application. After discussing the issue with him it was determined that the application was running in the security context of Local System but...
  • Blog Post: Exchange's MAPI repeatedly prompts for credentials

    I had a case recently where the customer's symptoms where that his application was causing a security credential dialog over and over again even though correct credentials were supplied. Upon further investigation we found that the LmCompatabilityLevel registry value was set to 1.  Since the application...
  • Blog Post: EXHTTP settings don't appear in Exchange 2013's Autodiscover response

    MAPI clients wishing to get the correct Autodiscover settings for Exchange 2013 need to get the EXHTTP nodes in the Autodiscover response to configure the client correctly. However, the Plain Old XML (POX) Autodiscover will not return this information if the client is not above a certain version of Outlook...
  • Blog Post: Using Basic Authentication for RPC over HTTP with MAPI\CDO

    I had a case recently where the customer was trying to use Basic Authentication for RPC over HTTP with MAPI\CDO. The customer's symptom was that no matter what was entered into the credentials dialog it would not accept the credentials. When I reviewed the IIS logs there wasn't even a request being made...
  • Blog Post: 9646 still seen on Exchange 2013 even after applying "View Information store status"

    Of course if you have a MAPI application you are most likely familiar with the 9646 errors. Event Type: Error Event Source: MSExchangeIS Event Category: General Event ID: 9646 Description: Mapi session "/o=ExchangeOrg/ou=First Administrative Group/cn=Recipients/cn=User" exceeded the maximum of 32...
  • Blog Post: What happened to PR_RULES_DATA and PR_ACL_DATA in Exchange 2013?

    I had a case recently with a customer where he was calling IMAPIProp::GetProps() asking for, among other things, PR_RULES_DATA and PR_ACL_DATA. This code worked correctly in previous versions of Exchange but these properties are no longer exposed in Exchange 2013. The workaround to this behavior is to...
  • Blog Post: How to use MFCMAPI to create a MAPI profile to connect to Office 365

    I helped in a case recently where the customer needed to use Exchange’s MAPI to connect to Office 365. Now that Exchange’s MAPI supports RPC over HTTP (ROH) this is possible. I used my other post on connecting to Exchange 2013 as a base template and then just changed some things to connect...
  • Blog Post: How to use the same profile to connect to both Exchange 2013 and legacy versions of Exchange Server

    As promised in my previous post , here is an post which walks you through the creation of a profile which can be used to connect to both an Exchange 2013 Server as well as a legacy version of Exchange Server (2007, 2010). The reason why this is needed is because their is an explicit block in place that...
  • Blog Post: How to use MFCMAPI to create a MAPI profile to connect to Exchange 2013

    Well it's finally released.  The long awaited MAPI/CDO download that includes the documentation which outlines how to connect to Exchange 2013.  As a supplement to that I have created this blog post to walk you through the steps of creating a profile using MFCMAPI to troubleshoot issues. ...
  • Blog Post: Recovery Databases (RDB) are listed in the Exchange Writer Metadata in Exchange 2013 RTM

    The Exchange Writer for Exchange 2013 will list Recovery Databases (RDB) in it's writer metadata. These should be ignored. This is a known issue in Exchange 2013 RTM. This issue is addressed in the next update to Exchange 2013.
  • Blog Post: How to install Transport Agents in Front End Transport (FET) in Exchange 2013

    This is already documented in the release notes but I wanted to call out that in Exchange 2013 you must use local powershell to run the cmdlets to install transport agents in Front End Transport (FET). This is because when a remote session is used the cmdlet is executed on the backend server. When you...
  • Blog Post: Agent went async but did not call Resume (Event Id 1057)

    In Exchange 2013 you may see the following in the event log if you don't call resume in your asynchronous agent Log Name: Application Source: MSExchange Extensibility Event ID: 1057 Task Category: MExRuntime Level: Error Keywords: Classic User: N/A Description: Agent 'Smith' went async but did not...
  • Blog Post: Coexistence with Exchange 2013

    If you are on Exchange 2010 you will need SP3 to coexist with Exchange 2013. Exchange 2010 SP3 was released yesterday. http://blogs.technet.com/b/exchange/archive/2013/02/12/released-exchange-server-2010-sp3.aspx If you are still on Exchange 2007 you can install RU 10 and coexist with 2013....
  • Blog Post: IMAPISession::OpenAddressBook returns E_NOINTERFACE when providing an IID

    I am currently troubleshooting an issue and wrote some code in an effort to reproduce it. However, when my program called into IMAPISession::OpenAddressBook and gave the IID IID_IAddrBook for the lpInterface parameter it would return E_NOINTERFACE. This puzzled me because the method returns a pointer...
  • Blog Post: Recovering Personal Archive Mailboxes from a Recovery Database

    Personal archive mailboxes are new in Exchange 2010. They are designed to be a replacement for personal PSTs. They are better for Administrators who need to manage end users' personal repositories for email while at the same time ensure compliance and retention polices. The issue happens when an administrator...
  • Blog Post: Where or where has my Where-Object gone?

    If you have done any remote runspace creation against Exchange 2010 you have undoubtly run into this error message: "Script block literals are not allowed in restricted language mode or a Data section" or "The term 'Where-Object' is not recoginized as the name of a cmdlet, function, script file...
  • Blog Post: How to use the Microsoft Exchange Troubleshooting Assistant (ExTra) to troubleshoot RPC Client Access issues

    I often ask customers to use ExTra to troubleshoot RPC Client Access issues. Rather then write this over and over again, here are the steps for using ExTra to troubleshoot a RPC Client Access issue. On the CAS Server that the MAPI client is connecting to run the following at the command prompt...
  • Blog Post: Local Runspaces are not supported in Exchange 2010

    First, let's define what a Local Runspace is and how that differs from the one you would use for Exchange 2010. A Local Runspace is a runspace configured to load the local Exchange Powershell snapin via the RunspaceConfiguration object. This was the standard type of Runspace created when automating Powershell...
  • Blog Post: How to use Windows Authentication with the PSCredential class

    Since posting the Remote Powershell sample I have had many people ask me how to make a connection to a remote endpoint using Windows Authentication instead of suppling a username and password as my sample demonstrates. I have changed the sample so that it looks for the presence of a username and password...
  • Blog Post: How to configure a HTTP endpoint for Exchange Web Services in Exchange 2010

    In Exchange 2007 if you wanted to enable HTTP for Exchange Web Services all you had to do was go into Internet Information Services (IIS) and uncheck the box 'Require secure channel (SSL)' on the EWS virtual directory. In Exchange 2010 RTM this is no longer possible. IIS still gives you this option;...
  • Blog Post: Exchange 2010 RU 1 has been released

    http://www.microsoft.com/downloads/details.aspx?FamilyID=371add31-d7a0-4c8b-8325-a6fced2d05e6&displaylang=en Along with a new version of the MAPI download: http://www.microsoft.com/downloads/details.aspx?familyid=e17e7f31-079a-43a9-bff2-0a110307611e&displaylang=en Once the new MAPI download...
  • Blog Post: Remote Powershell Sample Explained...

    This is a continuation of my previous post . I wanted to take a moment and discuss the intent of the sample, how to get it working, and some caveats when you attempt to take the sample and turn it into production ready code. Purpose The purpose of the sample is to demonstrate how to use Remote...
  • Blog Post: How to call Exchange 2010 cmdlet's using Remote Powershell in code

    I have seen this question posed a lot so I decided that I would post a quick code sample here and the complete sample on my samples site. In my sample I created a managed client and a native client which both call into a managed DLL that runs the Get-ExchangeServer cmdlet using Remote Powershell....
  • Blog Post: Exchange 2010 Code Complete

    Congratulations to the Exchange product team, Exchange 2010 has been released to manufacturing. http://msexchangeteam.com/archive/2009/10/08/452775.aspx
Page 1 of 2 (35 items) 12