1.9 KiB
1.9 KiB
Integrazione Supporto Resend per Invio Email
Obiettivo
Abilitare l'invio di email tramite servizi terzi (Resend) oltre al già presente SMTP, con configurazione via interfaccia grafica.
Stato Attuale
- Backend:
SmtpEmailSendergestisce solo SMTP. - Frontend:
SettingsPagegestisce solo campi SMTP. - DTO:
SmtpConfigDtolimitato a SMTP.
Piano di Lavoro
- Backend DTO: Aggiornare
SmtpConfigDtocon campiProvidereResendApiKey. - Backend Controller: Aggiornare
CommunicationsControllerper leggere/salvare le nuove configurazioni (EMAIL_PROVIDER,RESEND_API_KEY). - Backend Service: Modificare
SmtpEmailSender(o rinominarlo inUnifiedEmailSender) per supportare la logica condizionale (SMTP vs Resend). Implementare l'invio tramite HTTP Client per Resend. - Frontend Service: Aggiornare le definizioni di tipo TypeScript.
- Frontend UI: Modificare
SettingsPageper aggiungere un selettore di provider (SMTP/Resend) e mostrare i campi pertinenti dinamicamente. - Traduzioni: Aggiungere le nuove etichette.
Dettagli Tecnici
- API Resend: Richiesta POST a
https://api.resend.com/emailscon Bearer Token. - Provider Enum: "smtp", "resend".
- Defaut: SMTP per retrocompatibilità.
Avanzamento
- Backend DTO Update (
SmtpConfigDto) - Backend Controller Update (
CommunicationsController) - Backend Service Logic (
SmtpEmailSendernow handles Resend via HTTP) - Frontend Types Update
- Frontend UI Update (
SettingsPage.tsxwith Provider selector) - Dependencies (Added
Microsoft.Extensions.Httpto Infrastructure)
Note Finali
- L'integrazione supporta ora la selezione dinamica tra SMTP e Resend.
- La configurazione viene salvata su database (
EMAIL_PROVIDER,RESEND_API_KEY). - Il backend utilizza
IHttpClientFactoryper le chiamate API verso Resend. - UI aggiornata per mostrare campi condizionali.