Formulaires, mail & newsletter
Deux mecanismes coexistent : Umbraco Forms (formulaires construits par l'editeur) et le formulaire de contact custom Nanoxi.
Umbraco Forms
- Widget
widgetUmbracoForms: embarque n'importe quel Form publie. - Config dans
src/Umbraco/appsettings.json(Umbraco:Forms:FormDesign) : workflow par defaut desactive (DisableDefaultWorkflow: true), themedefault, template email customForms/Emails/Nanoxi-Template.cshtml, feuille de style desactivee, indicateur*sur les champs requis. SiteComposer(App.UmbracoForms/SiteComposer.cs) : exclut les workflows Forms par defaut (SendRazorEmail,SendEmail) et ajoute le workflow maisonSendRazorEmailNanoxi.
Formulaire de contact custom
- Widget
widgetContactForm: choisit un destinataire (affiliate) et categorise par sujet (contacttopic). - Traitement :
WidgetContactFormController(SurfaceController) -> validation FluentValidation + reCAPTCHA v3 -> envoi mail (IEmailService) -> log en base (IContactFormRepository). - Validation client : FormHelper traduit les regles en jQuery Validation.
Mail (multi-tenant)
IEmailService(App.Mail) rend un template Razor viaIViewRenderpuis envoie en SMTP.- SMTP : Mailgun (
smtp.eu.mailgun.org), configurable par domaine d'envoi viaNanoxi:CMS:MailSettings:Domains(SmtpOptions). Plusieurs domaines d'envoi sont declares (multi-tenant) meme si le front ne sert qu'un site. - Les mots de passe sont des placeholders (
NANOXI_POSTMASER_PWD) injectes au CI.
reCAPTCHA
IReCaptchav3Service+Recaptchav3Options(Nanoxi:CMS:Recaptchav3) : SiteKey/SecretKey (placeholders), score minimal 0.5.
Newsletter
- Widget
widgetNewsletter->WidgetNewsletterController(SurfaceController) +INewsletterOptInService(impl.NewsletterOptInOptInService). Validation viaWidgetNewsletterViewModelValidator. - Config par domaine :
Nanoxi:CMS:Newsletter:Domains(provider + apiKey).
Contributors
No contributors
Changelog
No recent changes

