Créé un événement pour un email
1. Créé un evenement
@Getter
public class UserCreatedEvent {
private final UserApp user;
public UserCreatedEvent(UserApp user) {
this.user = user;
}
}2. Créé un template de email
- dans
src/main/java/org/example/utils/EmailTemplate.java
public static String CreateAccount(String firstName) {
String emailHtml = """
<html>
<body>
<h1>Bonjour %s,</h1>
<p>Votre compte a été créé avec succès !</p>
<p>Nous sommes ravis de vous compter parmi nous.</p>
<br/>
<p>Cordialement,<br/>L'équipe Thibeault Cloud</p>
</body>
</html>
""";
return String.format(emailHtml, firstName);
}3. Créé un listener
@Component
@RequiredArgsConstructor
public class UserEventListener {
private final EmailService emailService;
@EventListener
public void handleEmployerCreated(UserCreatedEvent event) {
var employer = event.getUser();
// information du email
emailService.sendEmail(
EmailMessage.builder()
.to(employer.getEmail())
.subject("🎉 Compte créé avec succès !")
.body(EmailTemplate.CreateAccount(employer.getFirstName()))
.build()
);
}
}Last updated on