2.1 KiB
2.1 KiB
Implementazione Modulo Comunicazioni (Ex Email Standard)
Obiettivo
Implementare il modulo Comunicazioni (communications), inizialmente focalizzato sulla gestione centralizzata dell'invio email (SMTP).
Questo modulo servirà da fondamento per tutte le comunicazioni in uscita (e in futuro interne) del gestionale.
Strategia
Il modulo gestirà sia l'infrastruttura tecnica (Service Layer per invio mail) sia l'interfaccia utente per la configurazione e il monitoraggio (Log). Sarà allineato alla visione del modulo "Comunicazioni" (Gestione invio mail, chat interna, ecc.).
Piano di Lavoro
1. Documentazione
- Aggiornamento piano di lavoro (questo file).
- Aggiornamento
ZENTRAL.md.
2. Backend (.NET)
Domain Layer (Zentral.Domain)
- Interfaccia
IEmailSender: Contratto standard per l'invio. - Entities (Namespace
Communications):EmailLog: Storico invii (Id,Data,Mittente,Destinatario,Oggetto,Stato,Errore).EmailTemplate(Opzionale Fase 1): Per standardizzare il layout delle mail.
Infrastructure Layer (Zentral.Infrastructure)
- Implementazione
SmtpEmailSender:- Logica di invio tramite MailKit.
- Integrazione con
Configurazioneper leggere le credenziali SMTP a runtime. - Salvataggio automatico del log in
EmailLog.
API Layer (Zentral.API)
- Controller
CommunicationsController:- Endpoint per test invio.
- Endpoint per consultazione Logs.
- Endpoint per salvataggio Configurazione SMTP.
3. Frontend (React)
Modulo communications (src/apps/communications)
- Setup App: Creazione struttura standard modulo.
- Settings Page:
- Form per configurazione SMTP (Host, Port, User, Pass, SSL).
- Pulsante "Test Connessione".
- Logs Page:
- Tabella visualizzazione storico email inviate con stato (Successo/Errore).
Integrazione
- Il servizio
IEmailSendersarà iniettato negli altri moduli (es. Safety) per l'invio delle notifiche.
Verifica
- Configurazione SMTP (es. Mailtrap).
- Test invio mail da interfaccia.
- Verifica scrittura Log su DB.