Recently, I had the opportunity to set up a new SharePoint 2013 farm at Rackspace to provide free 45-day trials to allow users to experience the product for themselves. I helped to automate the process of creating the site collections based on the e-mails received (which I'll discuss later in a three-part blog post) and in the process learned an odd new behavior in SharePoint 2013 incoming e-mail that I thought I would share.
If you've used incoming e-mail previously in SharePoint 2010 then you're probably aware of the timer job called Microsoft SharePoint Foundation Incoming E-Mail that fires off every minute. This timer job will run on all servers in the farm that have the incoming email service running and is responsible for processing e-mails from the drop folder on the server.
However, in SharePoint 2013 they have modified this just a bit so that the timer jobs do not run on all servers in the farm even if all of them are running the incoming e-mail service.
Although my SharePoint 2013 farm also has two SharePoint servers that are running the incoming e-mail service it will only run the timer jobs on one specific server at a time. This won't change until the Timer Service Recycle timer job runs at its daily scheduled time. Once that happens it will choose another server in the farm to run the timer jobs on which can be problematic if you have a medium to large size farm and utilize this feature.
So....What's the moral here?
If you plan on using the incoming e-mail feature in SharePoint 2013 be sure to disable the incoming e-mail service (which is started by default) on all other servers that won't be receiving mail. Once the service is running only on the server that will be receiving mail you can manually run the Timer Service Recycle timer job to force it to choose that specific server.