Wednesday, September 02, 2015

Quick guide to Enabling IMAP in @Office365 / #MSFTExchange 2013

Let's say you're going to want to start migrating email from a legacy system like Zimbra into Exchange 2013 or Office 365.  You're going to need to get IMAP running on either your on-prem Exchange environment or in O365.

This tells you how to do it.

In a few days we'll show you how to start moving your Zimbra email.  Why are we picking on Zimbra?  We're not, we're responding to market demand to move Zimbra (which is not hard to see since Exchange continues to improve linearly and Zimbra has developed in fits and starts from being independent to being a quizzical part of Yahoo to being remaindered to VMware to passed off to Telligent and now just sold to Synacor). 

There are three pieces to get IMAP working:
  1. Start the IMAP service (Exchange 2013.)  Office 365 can skip this step
  2. Enable the IMAP Connector
  3. Enable the IMAP mailbox feature for user accounts

Start the IMAP Service
The first step is to start IMAP on your Exchange 2013 server (see below).  Once set, you can then enable the IMAP mailbox feature for each user.  (Office 365 customers can skip this step.)  These are the four shell commands:

Set-service msExchangeIMAP4 -startuptype automatic
Set-service msExchangeIMAP4BE -startuptype automatic
Start-service msExchangeIMAP4
Start-service msExchangeIMAP4BE

Step 1: Start two IMAP4 services (and configure those services to automatically start if you wish.)
By default, in Exchange 2013 the IMAP4 service(s) are stopped:

To start those services: On the computer running the Client Access server role:

1. Set the IMAP4 service to automatically start:
     Set-service msExchangeIMAP4 -startuptype automatic
2. Start the Microsoft Exchange IMAP4 service.
     Start-service msExchangeIMAP4

On the computer running the Mailbox server role:
1. Set the Microsoft Exchange IMAP4 Backend service to start automatically.
     Set-service msExchangeIMAP4BE -startuptype automatic
2. Start the Microsoft Exchange IMAP4 Backend service.
             Start-service msExchangeIMAP4BE

In our case, the CAS and Mailbox server roles are on the same box:

Configure Exchange IMAP4 External Connection
This allows users to see (and thus use) the IMAP server.  Here is how via the powershell SET-IMAPSettings cmdlet, e.g.:

     Set-ImapSettings -ExternalConnectionSetting {:993:SSL}.

Note: This requires you restart IIS.
This is true even if you are working within the firewall  Thus in our case, the External Connection is the same as the InternalConnection.

Finally,  Verify things are working, using OWA’s Options select Account, then pick the “Settings for POP or IMAP access” link.

Enable IMAP for your users
Next, ensure your user mailboxes are enabled for IMAP.
You can do this one-user-at-a-time using the Exchange Admin Center (EAC):

 Set-CASMailbox -MAPIEnabled $True

Which can be set for all users by piping from Get-Mailbox (note that this correctly excludes resource accounts for email migration):

Get-Mailbox -resultsize unlimited ^
  -filter {isResource -eq $false} | set-CASmailbox ^
  -MAPIEnabled $True

No comments: