fix: fallback to default fromEmail address when spring.mail.username is empty in local dev
AS Talange CI/CD Pipeline / Build & Run Unit Tests (push) Successful in 4m33s
AS Talange CI/CD Pipeline / Deploy to Test Environment (push) Successful in 6m14s

This commit is contained in:
2026-08-06 23:01:00 +02:00
parent df099a7c8e
commit cb78a8543c
2 changed files with 16 additions and 2 deletions
@@ -37,6 +37,13 @@ public class PaiementEmailService {
this.paiementRepository = paiementRepository; 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) { public void sendPaiementConfirmationAsync(Long paiementId) {
if (paiementId == null) { if (paiementId == null) {
log.warn("Impossible d'envoyer l'e-mail de confirmation : ID de paiement nul."); log.warn("Impossible d'envoyer l'e-mail de confirmation : ID de paiement nul.");
@@ -97,7 +104,7 @@ public class PaiementEmailService {
try { try {
MimeMessage message = mailSender.createMimeMessage(); MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8"); MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8");
helper.setFrom(fromEmail); helper.setFrom(getEffectiveFromEmail());
helper.setTo(recipientEmail); helper.setTo(recipientEmail);
helper.setSubject(subject); helper.setSubject(subject);
helper.setText(htmlContent, true); helper.setText(htmlContent, true);
@@ -41,6 +41,13 @@ public class SportEasyEmailService {
this.mailSender = mailSender; 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 record BatchSendResult(int sentCount, int skippedCount, int errorCount, String message) {}
public void sendInvitationForLicenceAsync(Long licenceId) { public void sendInvitationForLicenceAsync(Long licenceId) {
@@ -108,7 +115,7 @@ public class SportEasyEmailService {
try { try {
MimeMessage message = mailSender.createMimeMessage(); MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8"); MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8");
helper.setFrom(fromEmail); helper.setFrom(getEffectiveFromEmail());
helper.setTo(recipientEmail); helper.setTo(recipientEmail);
helper.setSubject(subject); helper.setSubject(subject);
helper.setText(htmlContent, true); helper.setText(htmlContent, true);