Aller au contenu

Envoi du courriel

phil/contact-form-bundle

ContactMailer envoie un TemplatedEmail :

PartieContenuPourquoi
FromLe senderL'adresse d'un visiteur dans From échoue aux vérifications SPF et DMARC du domaine, et le message aboutit dans les pourriels
ToLes Recipients du message
Reply-ToLe visiteur, avec son nomRépondre, c'est lui répondre
SubjectLe subject_prefix, puis le sujet ou le nom du visiteur
X-Auto-Response-SuppressOOF, AutoReplyLes réponses d'absence ne sont pas envoyées au formulaire

Les sauts de ligne du nom et du sujet sont remplacés par des espaces : ce qu'un robot soumet n'ajoute aucun en-tête. Le corps est @PhilContactForm/email/message.html.twig et message.txt.twig, qui reçoivent contact, dans la langue de la requête.

Rien n'est envoyé au visiteur : une copie permettrait à n'importe qui d'envoyer un texte de son choix à n'importe quelle adresse par l'intermédiaire du site.

Envoyer par Messenger

Lorsque l'application dirige SendEmailMessage vers un transport Messenger asynchrone, ContactMailer::send() ne fait que mettre le courriel en file d'attente. La page se redirige alors comme si le message était parti : un transport qui le refuse échoue dans le worker, qui fait une nouvelle tentative et journalise l'échec, et la réponse 503 avec le formulaire encore rempli ne se produit jamais.

Le courriel en file d'attente contient le nom, l'adresse et le message du visiteur. Ils restent dans le transport Messenger jusqu'à ce que le worker les envoie et, s'il est configuré, dans son transport d'échecs jusqu'à ce que quelqu'un les relance ou les retire. Le bundle ne conserve rien lui-même, mais une telle application y conserve bel et bien des renseignements personnels : il lui faut une règle de conservation pour son transport d'échecs — messenger:failed:show pour consulter, messenger:failed:remove pour purger — et elle devrait l'indiquer dans sa politique de vie privée.