Прошло много времени с тех пор, как этот вопрос был задан, но все же стоит ответить:
То, что происходит, заключается в том, что ваша почтовая служба использует SMTP-протокол (обычно это даже считается протоколом по умолчанию) для отправки почты. Независимо от того, какой конкретный класс вы используете в качестве почтового сервиса (может зависеть от того, работаете ли вы с Java EE, Spring или чем-то еще), он заканчивается использованием классов из API javamail. В этом API, чтобы установить соединение с вашим почтовым сервером, будет создан экземпляр javax.mail.Session, и этот объект будет динамически загружать классы, которые обеспечивают поддержку протокола для использования.
При загрузке необходимого класса, если он не найден, ClassNotFoundException перехватывается и перебрасывается как javax.mail.NoSuchProviderException, с сообщением о поддержке отсутствующего протокола.
Решением в этом случае является добавление smtp.jar в ваш путь к классам.
В проекте на основе Maven просто добавьте следующую зависимость
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>smtp</artifactId>
<version>1.4.5</version>
</dependency>