Carnet Wiki

40. Créer et envoyer une lettre

Version 19 — il y a 2 mois — moicubitus

-  Rédaction d’une lettre
-  Envoi d’une lettre
-  Suivi des retours d’une lettre
-  Création d’un squelette de lettre

Rédaction d’une lettre

Les raccourcis de la page de gestion d’une lettre permettent d’accéder à la page d’édition d’une lettre. On peut associer des images, des liens, des enrichissements typographiques comme dans un article SPIP, sans oublier de spécifier la rubrique dans laquelle s’inscrit cette lettre : ce sont les abonnés au thème associé qui recevront cette lettre.

Une fois le texte de la lettre validé, on accède à sa page de gestion et à son menu action :

On peut prévisualiser la lettre telle qu’elle se présentera à l’écran, avec les squelettes définis pour la version texte ou html selon les options retenues pour chaque abonné, tester un envoi, mettre la lettre à la poubelle, ou l’envoyer.

Attention : la prévisualisation d’une lettre ne fonctionne que si vous avez activé la prévisualisation des articles dans la page de configuration des fonctions avancées de votre site.

La partie basse de la page permet de visualiser les abonnés à la rubrique courante, qui ont reçu la lettre. Ainsi, même si des abonnés se désinscrivent, ou si de nouveaux abonnés sont inscrits, on peut savoir qui précisément a reçu la lettre.

Il existe en outre des commandes spécifiques aux lettres : des raccourcis dont la valeur dépend de l’abonné destinataire. Lors de l’envoi, le squelette de la lettre et calculé mais ces raccourcis sont gardés tels quels. Ils ne sont calculés qu’au moment de l’envoi à un destinataire particulier.

Ces raccourcis s’écrivent tous entre %%.

Ainsi : %%EMAIL%% s’il est employé dans le corps ou dans le titre de la lettre, sera remplacé par l’email du destinataire.
Il en va de même pour %%NOM%% et pour tout champ extra éventuellement défini : %%mon_champ_extra%%. Pour ces champs extra, il est possible de préciser une valeur par défaut, si le champ n’est pas défini pour le destinataire particulier :
%%mon_champ_extra|monsieur, madame%%

Envoi de la lettre

L’envoi utilise le plugin job_queue pour réguler les envois, même à de très nombreux destinataires (plusieurs milliers ou dizaine de milliers).

Un script égraine alors les envois qui se font, et affiche en temps réel l’évolution du nombre d’envois restant. De gros envois peuvent prendre plusieurs heures, sans que cela ne cause de problème particulier.

Une fois une lettre envoyée, il n’est plus possible de modifier son contenu. A l’envoi, la version de la lettre est figée et enregistrée dans la base de donnée, et ce sera cette version qui sera présentée en partie privée ou publique à la demande. Ainsi, même si des articles repris dans une lettre disparaissent ou sont modifiés, on gardera la trace exacte de la lettre envoyée, puisque c’est la version stockée en base qui sera appelée puis affichée.

Il reste bien entendu possible de modifier manuellement la version stockée en base après envoi, si vous souhaitez corriger une erreur par exemple. La version affichée sur votre site sera rectifiée, et il sera possible de renvoyer la lettre corrigée à vos abonnés. Cette manipulation n’est possible qu’à la main, via une requête SQL ou directement depuis votre gestionnaire de BDD préféré : le contenu HTML des lettres est enregistré dans le champ message_html de la table spip_lettres.

Suivre la réception d’une lettre

S’il y a des liens dans la lettre, ceux-ci sont convertis (à l’exception des liens de désabonnement, des « mailto » et des liens vers des ancres internes à la lettre) par SPIP-Lettres en des urls de la forme spip.php ?clic.php&id_clic=XYZ. Les clics renvoient donc vers votre site SPIP et le plugin se charge de la redirection finale. Grâce à ce système, SPIP-lettres affichera le taux d’ouverture de la lettre (en réalité, le taux de clics enregistrés par rapport aux nombre d’envois effectués) ainsi que le nombre de clics sur chaque lien :


Il est également possible de renvoyer une lettre et de savoir à qui elle a été envoyer :

Ainsi que de dupliquer une lettre

Présentation d’une lettre

La présentation d’une lettre est définie par les squelettes SPIP définis par les options de configuration de spip-lettres et avec les particularités suivantes :
-  ils existent en 2 versions (texte et html) ;
-  le titre du mail est défini par un squelette à part entière.

Avec les squelettes livrés par défaut, un mail au format HTML est constitué :
-  d’un lien donnant la possibilité de consulter la lettre sur votre site internet ;
-  du logo de la lettre, en pleine largeur (580 pixels) ;
-  du chapeau de la lettre, si vous avez prévu son utilisation dans la configuration ;
-  du texte de la lettre ;
-  d’un lien pour permettre le désabonnement, avec code d’authentification ;
-  du logo au survol de la lettre, également en pleine largeur.

Par défaut, le squelette qui constitue le corps du mail au format HTML est email/lettre_html.html. Ce squelette inclut l’entête (email/inc-haut.html), insère titre, chapeau et texte, puis inclut un autre squelette pour le pied (email/inc-bas.html). Le fichier CSS utilisé est également défini par un squelette : email/css.html

Vous pouvez modifier ces squelettes ou entièrement les recréer, à votre goût.

Certains raccourcis sont définis pour gérer les abonnements, les désabonnements et changements de formats demandés par l’utilisateur, et en obtenir la confirmation :

-  %%CODE%% contient un code propre à l’utilisateur, permettant de l’authentifier par les procédures automatiques ;
-  %%URL_VALIDATION_DESABONNEMENTS%% : il est possible d’inclure ce code dans la lettre afin d’y faire figurer un lien automatique de désabonnement. Comme ce lien contient le code, il n’y aura pas de demande de confirmation. On peut préférer mettre un simple lien vers le formulaire d’inscription/désinscription.
-  %%URL_VALIDATION_ABONNEMENTS%% et %%URL_VALIDATION_CHANGEMENT_FORMAT%% : ces codes figurent dans les mails de notification.

Note sur les raccourcis de personnalisation

Les raccourcis de personnalisation doivent obligatoirement être écrits en MAJUSCULES.

La présentation a introduit 3 types de raccourcis de personnalisation :
-  les champs de spip_abonnes : %%EMAIL%%, %%NOM%% et %%CODE%% ;
-  les champs construits par SPIP-lettres à partir des champs de spip_abonnes, pour gérer la confirmation de désabonnement, d’abonnement et de changement de format (%%URL_VALIDATION_DESABONNEMENTS%%...) ;
-  les champs extras sur spip_abonnes %%CHAMPEXTRASURMESURE%% ...

Ces champs présentent une particularité : ils sont calculés en dehors du calcul normal du squelette SPIP, au moment de l’envoi de la lettre à un destinataire précis parmi tous les destinataires.
À ce moment, les boucles et tous les éléments SPIP du squelette de la lettre ont déjà été calculés, mais il reste les %%RACCOURCIS_DE_PERSONALISATION%%.
Ils ont donc logiquement la particularité de pouvoir être employés tels quels aussi bien dans le contenu d’une lettre que dans le squelette d’envoi.

Association d’une lettre avec un ou plusieurs articles

Il est possible, lorsque la configuration adéquate est retenue, d’associer un ou plusieurs articles à une lettre.
Dans ce cas, il sera possible de faire référence à ces articles, leur url, leur titre ou leur texte, à l’intérieur du mail envoyé. Il suffit pour cela de redéfinir le squelette de la lettre pour y insérer les boucles adéquates.

Par exemple, si il y a toujours un article et un seul associé à une lettre, on pourra utiliser la boucle
suivante

        <BOUCLE_a(ARTICLES){id_lettre}>#SET{url_article,#URL_ARTICLE}#SET{titre_article,#TITRE}
        </BOUCLE_a>

pour récupérer son url et son titre, et s’en servir plus loin à l’intérieur de la lettre.

Il est possible de définir l’intégralité du contenu d’une lettre en associant plusieurs articles à une lettre. Notez qu’il y a un autre plugin dédié pour ce genre de fonctionnement.