Refactoring

* Only use try/catch blocks when necessary instead of nesting
everything in one block

* Return early if the SMS provider has not been configured

* Simplified the validation of the selected recipients

* Improved the exception message that is returned when an SMS provider
has not being configured