From cb78a8543c53689110b622db41f84184b57b0666 Mon Sep 17 00:00:00 2001 From: Youssef Date: Thu, 6 Aug 2026 23:01:00 +0200 Subject: [PATCH] fix: fallback to default fromEmail address when spring.mail.username is empty in local dev --- .../com/astalange/core/service/PaiementEmailService.java | 9 ++++++++- .../astalange/core/service/SportEasyEmailService.java | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/as-talange-core/src/main/java/com/astalange/core/service/PaiementEmailService.java b/as-talange-core/src/main/java/com/astalange/core/service/PaiementEmailService.java index 63a7abb..84e35c0 100644 --- a/as-talange-core/src/main/java/com/astalange/core/service/PaiementEmailService.java +++ b/as-talange-core/src/main/java/com/astalange/core/service/PaiementEmailService.java @@ -37,6 +37,13 @@ public class PaiementEmailService { this.paiementRepository = paiementRepository; } + private String getEffectiveFromEmail() { + if (fromEmail != null && !fromEmail.trim().isEmpty() && fromEmail.contains("@")) { + return fromEmail.trim(); + } + return "noreply@as-talange.fr"; + } + public void sendPaiementConfirmationAsync(Long paiementId) { if (paiementId == null) { log.warn("Impossible d'envoyer l'e-mail de confirmation : ID de paiement nul."); @@ -97,7 +104,7 @@ public class PaiementEmailService { try { MimeMessage message = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8"); - helper.setFrom(fromEmail); + helper.setFrom(getEffectiveFromEmail()); helper.setTo(recipientEmail); helper.setSubject(subject); helper.setText(htmlContent, true); diff --git a/as-talange-core/src/main/java/com/astalange/core/service/SportEasyEmailService.java b/as-talange-core/src/main/java/com/astalange/core/service/SportEasyEmailService.java index 827bf9b..8a127e4 100644 --- a/as-talange-core/src/main/java/com/astalange/core/service/SportEasyEmailService.java +++ b/as-talange-core/src/main/java/com/astalange/core/service/SportEasyEmailService.java @@ -41,6 +41,13 @@ public class SportEasyEmailService { this.mailSender = mailSender; } + private String getEffectiveFromEmail() { + if (fromEmail != null && !fromEmail.trim().isEmpty() && fromEmail.contains("@")) { + return fromEmail.trim(); + } + return "noreply@as-talange.fr"; + } + public record BatchSendResult(int sentCount, int skippedCount, int errorCount, String message) {} public void sendInvitationForLicenceAsync(Long licenceId) { @@ -108,7 +115,7 @@ public class SportEasyEmailService { try { MimeMessage message = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8"); - helper.setFrom(fromEmail); + helper.setFrom(getEffectiveFromEmail()); helper.setTo(recipientEmail); helper.setSubject(subject); helper.setText(htmlContent, true);