JavaMail API и реализация Tomcat 7
Вопрос
Существует несколько API-интерфейсов Java EE, которые существуют просто так: API-интерфейсы (интерфейсы, объекты домена, перечисления и т. д.).но нет реальных классов, которые делать вещи).API, такие как JPA, JDBC или JTA.Эти API должны иметь реализации;для JPA есть такие программы, как Hibernate, MyBatis или TopLink.Для JDBC есть драйвера для каждой конкретной СУБД.Для JTA есть Bitronix и Atomikos.
А как насчет JavaMail?Это просто API?Если да, то каковы его распространенные реализации?Если я разверну свое Java-приложение (как WAR) на Tomcat 7, откуда возьмется эта реализация (в частности)?Есть ли у Tomcat собственная реализация JavaMail?Какие JAR/пакеты/классы составляют реализацию Tomcat?
Решение
JavaMail является стандартом ДжСР 919
Сервер TomEE поддерживает JavaMail.
Конфигурация очень проста и выглядит следующим образом.
- томи уже идет в комплекте
apache-tomee-plus-1.6.0/lib/geronimo-javamail_1.4_mail-1.8.2.jar
- в
tomee.xml
(настроено на$TOMEE/conf
) вы добавляете запись, как описано в Настройка JavaMail - изнутри ваших классов вы можете ссылаться на почтовый сеанс через
@Resource
как описано в Ресурс javax.mail.Session и аутентификация smtp