Incoming emails are stuck in SharePoint 2010 server Drop folder

First symptoms

  • Emails sent to SharePoint library address don’t reach destination.
  • No error message returns to sender

What to check to identify the issue

  • Incoming email “Drop” folder on SharePoint WFE – all missing emails should be there, awaiting to be picked up by SharePoint
  • ULS logs has the following error with “E-mail” category:

    The Incoming E-Mail service has completed a batch. The elapsed time was 00:00:00.0156241. The service processed 4 message(s) in total. Errors occurred processing 4 message(s): Message ID: Message ID: Message ID: Message ID:

Resolution

It was hard to find it because of misleading info, so I post it here.

Update: the issue was fixed in May 2015 CU. Keep reading if you cannot install this CU, need temporary workaround or you are just naturally curious.

Wrong ideas

It could be not so wrong to someone, though, so here they are…

  • stsadm -o refreshdms command to fix email aliases even if you don’t use that DMS – didn’t work for me
  • set Site Collection storage quota – didn’t work for me, quotas was already in place. And this issue was already fixed by KB2598348 which is included in July 2012 CU.

Good idea

Then I’ve found this article (thanks, Jeff!) that was about similar issue on SharePoint 2013 sites migrated from SharePoint 2007. Jeff had checked values of BitFlags column in AllSites table of content DB to find out that affected site collection was actually “locked” for exceeding Sandbox Resource Points. Jeff had modified BitFlags value and turned off timer jobs, but it was too intrusive solution for me.

Root cause confirmation

Run the following PowerShell command to check if site collections are actually locked for exceeding Sandbox Resource Points:

Get-SPWebApplication | %{$_.Sites | select Url, ResourceQuotaExceeded}

Every site collection which has ResourceQuotaExceeded = True considered “locked” and cannot get incoming emails to libraries. This actually doesn’t affect normal way to add documents, so users might not notice this right away.

Resolution

  1. Add Sandboxed Solutions quotas to every site collection where you have libraries with incoming email processing enabled.
    Set Sandboxed Solution quotas for site collection
  2. If you are already using quota templates (and I hope you do because this is a good way to manage storage space usage), then you have to:
    1. Add Sandboxed Solutions quotas to your quota templates
    2. Reset assigned quota templates for all affected site collection (just set it to ‘Individual quota’ and back)
  3. Run the PowerShell command again to check if all site collections became “unlocked” (i.e. ResourceQuotaExceeded = False)
    Get-SPWebApplication | %{$_.Sites | select Url, ResourceQuotaExceeded}

Leave a Reply