I’ve ran into this so many times and it gets me every time. The mail package the gets installed with the tomcat version that I install from the system repository (using yum) includes a javamail library that causes problems.
Apparently, if there are multiple, different java mail versions, the system just falls down and throws the NoSuchProviderException.
My application usually includes the latest version of the javax.mail library. So I simply renamed the java-mail.jar to java-mail.jar.orig in the tomcat “common” library. Then I restated the tomcat server.
Changing the extension makes it not get loaded automatically when the system restarts. I like to use the .orig so I know what changes I made in case I want to revert them.