Зависимости для почты в Java
Отправка писем из Java опирается на API из артефакта
jakarta.mail-api и реализацию транспорта от
Angus. Для уроков без внешнего SMTP подключают GreenMail:
он поднимает сервер в процессе JVM и складывает принятые
письма в память.
В build.gradle задают Java 27 через toolchain
и три зависимости: API, реализацию и тестовый сервер:
plugins {
id 'java'
}
java {
toolchain {
languageVersion = JavaLanguageVersion.of(27)
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'jakarta.mail:jakarta.mail-api:2.1.3'
implementation 'org.eclipse.angus:angus-mail:2.0.3'
implementation 'com.icegreen:greenmail:2.1.3'
}
После синхронизации Gradle доступны классы
jakarta.mail.Session, MimeMessage и
com.icegreen.greenmail.util.GreenMail. Остальные
настройки компилятора менять не нужно: достаточно
указать версии артефактов в одном месте.
GreenMail используют и в учебных main-программах:
зависимость не обязана быть только в тестовой
конфигурации, если пример должен стартовать сервер при
обычном запуске.