Problem:
After a Database attach method of SharePoint migration from SharePoint 2007 to SharePoint 2010, all incoming E-mail enabled libraries stopped working! They no longer receive E-mails!! Here is the root cause and fix for SharePoint incoming email stopped working issue.
Root Cause:
This is because, SharePoint stores incoming E-mail configurations on its Farm Configuration Database (usually SharePoint_Config) and during database attachment method of migration, We didn't (and we can't) migrate the configuration database. So, incoming email settings on SharePoint 2010 not working.
Solution:
One quick solution is simply Flip the value of "Allow this list to receive e-mail?"
Wait, There is an elegant solution yet:
However there is an another efficient way by: Calling RefreshEmailEnabledObjects() method of SPSite object to refresh all Incoming Email settings! (or use: stsadm -o refreshdms command). Here is the PowerShell script:
After a Database attach method of SharePoint migration from SharePoint 2007 to SharePoint 2010, all incoming E-mail enabled libraries stopped working! They no longer receive E-mails!! Here is the root cause and fix for SharePoint incoming email stopped working issue.
Root Cause:
This is because, SharePoint stores incoming E-mail configurations on its Farm Configuration Database (usually SharePoint_Config) and during database attachment method of migration, We didn't (and we can't) migrate the configuration database. So, incoming email settings on SharePoint 2010 not working.
Solution:
One quick solution is simply Flip the value of "Allow this list to receive e-mail?"
- Just go to List Settings
- Under Communication, click on "Incoming e-mail settings" link
- Select "Allow this list to receive e-mail?" to "No" and click on "Save"
- Now, go back to the Incoming e-mail settings again and choose ""Allow this list to receive e-mail?" to "Yes" and then save your changes.
Wait, There is an elegant solution yet:
However there is an another efficient way by: Calling RefreshEmailEnabledObjects() method of SPSite object to refresh all Incoming Email settings! (or use: stsadm -o refreshdms command). Here is the PowerShell script:
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue #Get All Site Collections of the given web application $SiteCollections = Get-SPWebApplication "http://sharepoint.crescent.com" | Get-SPSite -Limit All #Iterate through Each site collection foreach ($site in $SiteCollections) { #Refresh Incoming Email settings $site.RefreshEmailEnabledObjects() #Write Ouput message Write-Host "Processed: $($site.rootweb.url)" #Dispose the Site object $site.Dispose() }
Make sure you enabled incoming email settings in SharePoint central admin, before running this script