There were so many cheers when Microsoft announced that the .Net 3.5 Framework was no longer a pre-requisite for installing SQL Server starting with SQL Server 2016. Folks were so excited, until they started testing certain pieces of the product, specifically Database Mail. That’s right, if you want to use Database Mail in SQL Server 2016 you have to install the .Net 3.5 Framework.
If you are installing SQL Server 2016 on Windows Server 2012 R2, this might be a problem for two reasons. First, the .Net 3.5 Framework is no longer included by default when spinning up a new install. Second, you will get no errors when testing Database Mail in SQL Server 2016. Mail will be queued, but will not be sent and there will be no errors in the Database Mail log, the SQL Agent log or even the SQL Server error log.
So if you’ve gone through all the usual steps to troubleshoot Database Mail (or these steps) in SQL Server 2016 to no avail, be sure to double check that the .Net 3.5 Framework has been installed. If not, you will need to install it, then apply ALL the patches for it.
Reblogged this on SchottSQL and commented:
I came across this post in the SQL Server Slack chats and wanted to make sure that this information was shared so others don’t fall into this trap. Not having .NET 3.5 installed w/ SQL 2016 means no DB Mail and worse, no errors or alerts that it’s not working. I hope that MS will address this a bit more if they keep saying we don’t need .NET 3.5 for SQL 2016. In the meantime, if you want DB Mail, you’ll need the framework, too.
Thanks for posting this info – really helped me..
Steve – Glad it helped. I figured if I could save someone else the hour+ of troubleshooting time it took me, I should definitely share!
Thanks! Facing the same issue and now it works by installing .net framework 3.5
Please see the link below…
https://connect.microsoft.com/SQLServer/feedback/details/2780580/sql-2016-rtm-databasemail-not-working
You can get it functional with a config file, no need to install the 3.5 framework.
That is great, thanks for the link!
If you disable TLS1.0 Database mail will also silently die.
http://www.ryanjadams.com/2016/07/database-mail-breaks-tls-1-0-disabled/
Thank Ryan, I didn’t know that.
If you review the articles on TLS support with SQL and install the relevant OS and .Net patches for TLS support, database mail works as expected.
https://support.microsoft.com/en-us/kb/3135244
That’s correct and I note that in the article. I actually discovered this and worked with product group on it. I couldn’t post the article until they released that fix and made it public. Hopefully my article will help raise awareness.
Without that patch and with TLS 1.0 disabled your mail just queues and no errors are raised. There very well may be folks out there that disabled TLS 1.0 to be secure and think there servers are running fine because they have not received alerts. What they don’t know is that they might be sitting in the queue and they do indeed have problems.