Class EmailService

java.lang.Object
com.modulink.Model.Email.EmailService

@Service public class EmailService extends Object
Service Component responsabile della gestione e dell'invio delle comunicazioni via posta elettronica.

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

    Fields
    Modifier and Type
    Field
    Description
    private final org.springframework.mail.javamail.JavaMailSenderImpl
    Implementazione concreta del client SMTP fornito da Spring.
  • Constructor Summary

    Constructors
    Constructor
    Description
    EmailService(org.springframework.mail.javamail.JavaMailSenderImpl mailSender)
    Costruttore per la Dependency Injection.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    sendEmail(org.springframework.mail.SimpleMailMessage message)
    Esegue l'invio asincrono di un messaggio email semplice.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • mailSender

      private final org.springframework.mail.javamail.JavaMailSenderImpl mailSender
      Implementazione 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 - Oggetto SimpleMailMessage contenente mittente, destinatari, oggetto e corpo del testo.
      Since:
      1.1.0