Lookup session z JNDI je na pár řádků, doslova. Případně i na to se dá udělat nějaký helper, navíc jsme to navrhovali pro Javu 1.4.
U nás se občas stane, že některý z Exchange serverů je nedostupný, blbne konektivita, při přečíslování IP trvá než se občerství DNS, atp.
My máme to předání do JMS napsané jako vlastní JavaMail Transport, takže přepnutí „do JMS“/„přímo na SMTP“ by znamenalo jen změnit v konfiguraci JNDI jméno pro lookup JavaMail session. Takže když je potřeba napsat kód odesílající mail, můžeme použít vlastní zjednodušující API pro vytvoření a odeslání mailu nebo, pokud potřebuji něco speciálního, můžeme použít přímo JavaMail, jedinou podmínkou je načíst JNDI jméno JavaMail session z konfigurace a použít tuto session.
Jak koukám na to vaše zapouzdření, tak možnost odeslání plaintext mailu jednomu příjemci je poněkud omezující.