Spring Email API for Java and Kotlin
It is an API for Java and Kotlin to send emails with Spring. To add to your project…
For Java:
<dependency>
<groupId>com.github.migangqui</groupId>
<artifactId>spring-email-api-java</artifactId>
<version>${currentVersion}</version>
</dependency>
implementation 'com.github.migangqui:spring-email-api-java:${currentVersion}'
For Kotlin:
<dependency>
<groupId>com.github.migangqui</groupId>
<artifactId>spring-email-api-kotlin</artifactId>
<version>${currentVersion}</version>
</dependency>
implementation 'com.github.migangqui:spring-email-api-kotlin:${currentVersion}'
${currentVersion}
is 1.2.0
spring:
mail:
default-encoding: UTF-8
host: # for example: smtp.gmail.com
username: # Your email
password: # Your email pass
port: # SMPT port, for exaple: 25, 587
properties:
mail:
transport.protocol: smtp
# Optional properties
# smtp:
# ssl:
# trust: '*'
# auth: true
# starttls:
# enable: true
# required: true
Add @EnableAsync
annotation in your Spring Application class to enable async send method.
It’s not necessary add the package to component scan with this new version.
You have to inject EmailSender
as dependency in your Spring component. The service provide these methods:
public interface EmailSender {
SendEmailResult send(Email email);
Future<SendEmailResult> sendAsync(Email email);
}
interface EmailSender {
fun send(email: Email): SendEmailResult
fun sendAsync(email: Email): Future<SendEmailResult>
}