Thursday, January 24, 2013

Enabling incoming email on SharePoint 2013

I am running SharePoint 2013 RTM on one of my demo servers and want to enable incoming email. The configuration is exactly the same as in SharePoint 2010:
Setup your SMTP server to receive email
Set "Enable sites on this server to receive e-mail" to Yes
Verify firewall settings to allow connections to port 25

However, after checking all this, my incoming email was still not making it into my lists. I can see the incoming email message sitting in the C:\inetpub\mailroot\Drop folder and it is not being processed.

By chance, I decided to set "Enable sites on this server to receive e-mail" to No, save and then back to Yes. Then miraculously, the incoming email is now being processed. I have now seen this exact behaviour several times with my SharePoint 2013 instances.

Monday, January 7, 2013

SharePoint 2013 About Me page timing out

For some reason, all of a sudden, I am no longer able to access my "About Me" page (/my/Person.aspx) on one of my SharePoint 2013 demo servers. I can access the "About Me" page for everyone else and everyone else can also access their "About Me" page, but no one can access mine. It seems to spin for a long time and then time out. The only thing in ULS is an aborted thread exception.

Finally, I tried accessing the edit page of my "About Me" using /my/_layouts/15/EditProfile.aspx, hit save without even changing anything and magically, I can see my "About Me" page again.

Very bizarre.

Crawling root web of a site collection

I was recently trying to troubleshoot a search problem with my application. It turned out that there was a list at the root web of a site collection that was not being indexed by search.

$ssa = Get-SPEnterpriseSearchServiceApplication | Where-Object {$_.Name -eq "FAST Search Query Service Application"}
$logViewer = New-Object Microsoft.Office.Server.Search.Administration.LogViewer($ssa)
$urlProperty = [Microsoft.Office.Server.Search.Administration.CrawlLogFilterProperty]::Url
$stringOperator = [Microsoft.Office.Server.Search.Administration.StringFilterOperator]::Contains
$crawlLogFilters = New-Object Microsoft.Office.Server.Search.Administration.CrawlLogFilters
$searchUrl = 'my URL'
$crawlLogFilters.AddFilter($urlProperty, $stringOperator, $searchUrl)
$urls = $logViewer.GetCurrentCrawlLogData($crawlLogFilters, ([ref] $i))

Then I checked with a colleague and it turns out that all I needed to check was Site Actions->Site Settings->Search and offline availability. The "Allow this site to appear in search results" was set to No.