SMTP.getInstance() performs checks for smtp config

Summary

The method SMTP.getInstance() performs some checks for an smtp configuration. This should only happen in the constructor, so fails can be ignored in a non productive environment or if ALLOW_NO_TRANSPORT is set to true.

These checks should only be performed once anyways, because SMTP is implemented as a singleton and is instatianted only once.

cc: @krlwlfrt @jovankrunic