Imagine the following: A user mail-enabled a SharePoint list, or two, or two hundred, and then disappeared. Maybe they found another job; maybe the left for Mexico; maybe they irritated Joey the Hippo and are keeping company with the fishes. Who knows? Frankly, it doesn't matter, beyond giving me the opportunity to offer literary abuse to you, my dear reader.
You are tasked with finding out where all these emails are going. You don't know, so, you turn to Bing, or Google (you don't use any other search engines, I hope), and find me here. I had the same problem. I also had a lot of mail getting stuck in the SharePoint drop folder, and I wanted to get a handle on why it was there.
Behold!
I call this "Get-SPMailEnabledLists"
############################################################################################################
# The following secion iterates through an entire farm. Two closing loops at the end finish out the #
# For-Each login here #
############################################################################################################
$Farm = Get-SPWebApplication
Foreach ($WebApplicationname in $Farm)
{
$WebApplication = Get-SPWebApplication -identity $WebApplicationname
$WebAppSites = $WebApplication.Sites
Foreach ($SiteCollectionUrl in $webappsites)
{
############################################################################################################
# End farm interative initiation #
############################################################################################################
$site = Get-SPSite -identity $SiteCollectionUrl
foreach($web in $site.allWebs)
{
$lists = $web.lists
ForEach($list in $lists)
{
if( ($list.CanReceiveEmail) -and ($list.EmailAlias) )
{
write-host "Current URL:" $web.Url
write-host "Title of list: " $list.Title
write-host "Email of list: " $list.EmailAlias
}
}
}
}
}
You can wrap the snippet above in a emailer or transcripter-er. Format as you like.
Enjoy.