Class EmailService
Questa classe agisce come wrapper attorno all'infrastruttura di invio mail di Spring Framework (JavaMailSenderImpl),
fornendo un'interfaccia semplificata per il dispatching di messaggi di testo semplice (MIME type text/plain).
L'architettura del servizio sfrutta l'elaborazione asincrona per disaccoppiare l'operazione di I/O (invio rete SMTP) dal thread principale dell'applicazione, migliorando la reattività del sistema e riducendo la latenza percepita dall'utente.
- Since:
- 1.0.0
- Version:
- 1.3.4
- Author:
- Modulink Team
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final org.springframework.mail.javamail.JavaMailSenderImplImplementazione concreta del client SMTP fornito da Spring. -
Constructor Summary
ConstructorsConstructorDescriptionEmailService(org.springframework.mail.javamail.JavaMailSenderImpl mailSender) Costruttore per la Dependency Injection. -
Method Summary
Modifier and TypeMethodDescriptionvoidsendEmail(org.springframework.mail.SimpleMailMessage message) Esegue l'invio asincrono di un messaggio email semplice.
-
Field Details
-
mailSender
private final org.springframework.mail.javamail.JavaMailSenderImpl mailSenderImplementazione concreta del client SMTP fornito da Spring.Gestisce la connessione al server di posta, l'autenticazione e il trasporto dei pacchetti MIME. La configurazione avviene tipicamente tramite properties (host, port, username, password).
- Since:
- 1.0.0
-
-
Constructor Details
-
EmailService
public EmailService(org.springframework.mail.javamail.JavaMailSenderImpl mailSender) Costruttore per la Dependency Injection.Inizializza il servizio iniettando l'istanza configurata di
JavaMailSenderImpl.- Parameters:
mailSender- L'istanza del sender SMTP pronta all'uso.- Since:
- 1.0.0
-
-
Method Details
-
sendEmail
@Async public void sendEmail(org.springframework.mail.SimpleMailMessage message) Esegue l'invio asincrono di un messaggio email semplice.Questo metodo è annotato con
Async, istruendo il framework a eseguirlo in un thread separato (pool gestito da Spring TaskExecutor). Ciò impedisce che ritardi nella comunicazione SMTP blocchino il flusso di esecuzione chiamante (es. controller HTTP).Gestione Errori: Poiché l'esecuzione è asincrona, le eccezioni sollevate durante l'invio non possono risalire allo stack del chiamante. Vengono invece intercettate localmente e loggate sullo standard error stream per scopi di diagnosi e auditing.
- Parameters:
message- OggettoSimpleMailMessagecontenente mittente, destinatari, oggetto e corpo del testo.- Since:
- 1.1.0
-