Skip to content

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), theme default, template email custom Forms/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 maison SendRazorEmailNanoxi.

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 via IViewRender puis envoie en SMTP.
  • SMTP : Mailgun (smtp.eu.mailgun.org), configurable par domaine d'envoi via Nanoxi: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 via WidgetNewsletterViewModelValidator.
  • Config par domaine : Nanoxi:CMS:Newsletter:Domains (provider + apiKey).

Contributors

No contributors

Changelog

No recent changes