Ma-lettre

Compose et envoie des lettres d’informations (newsletters)

Permet de composer sur mesure une lettre d’information (newsletter) en sélectionnant manuellement les articles, événements que l’on désire ajouter pour l’envoyer à un logiciel de gestion de listes extérieur à SPIP (de type SYMPA, Mailman...).

Objectifs du plugin

Le plugin Ma Lettre sert uniquement à composer des newsletters au format HTML et texte (brut) pour les envoyer à un logiciel tiers spécialisé dans la gestion des mailings-listes (comme SYMPA, Mailman, ...).

Le plugin est volontairement simple et élémentaire. Il ne gère donc pas les abonnés, les formulaires d’inscription, ...
Si vous avez besoin d’un plugin de gestions de newsletter complet intégré dans SPIP, utilisez plutôt alors Newsletters.

Fonctionnalités

Elles sont volontairement restreintes :

  • Création de newsletter au format HTML et TXT
  • Archiver et gérer des lettres envoyés
  • Charger la dernière lettre
  • Créer un lien pour consulter la newsletter en ligne

A partir de la version 4.0 l’envoi des emails est délégué au plugin Facteur.

Installation

Après son activation, il est recommandé de configurer le plugin

Vous pouvez configurer :

  • le numéro de votre article édito
  • quels objets vous voulez sélectionner : rien, articles, événements (requiert le plugin Agenda)
  • vos expéditeurs
  • destinataires courants.
Configuration de ma-lettre
astuce il est possible de configurer à minima et de détourner l’utilisation classique du plugin. Par exemple vous pouvez le configurer sans d’édito ni d’articles ou événements à cocher. Dans ce cas, le rédacteur de la lettre ne rentre que le titre de la lettre. C’est à vous alors d’écrire un patron de lettre basé sur une autre logique (par ex. une sélection d’articles à base de mots-clés ou un critère d’âge).

Composer une lettre

Etape 1 : Choisir les éléments qui composent votre newsletter

Chaque lettre est composée :

  • d’un édito (un article fixe dans SPIP)
  • d’une sélection d’articles que vous pouvez choisir en les cochant OU / ET entrant les numéros (pour déterminer un ordre particulier ou sélectionner de vieux articles)
  • d’une sélection d’événements que vous pouvez choisir en les cochant OU / ET entrant les numéros (pour déterminer un ordre particulier ou sélectionner de vieux articles)
sélection des derniers articles (en cochant)


sélection des derniers articles : on coche

sélection libre d’articles


sélection libre d’articles : on indique les numéros

Etape 2 : Choisir les expéditeurs et destinataires

choix expéditeurs / destinataires


Choisir les éléments qui composent votre newsletter

apercu de la lettre


Et vérifier si l’aperçu HTML et texte convient

Cliquer sur le bouton pour envoyer la lettre !
Après l’envoi, la lettre est archivée dans le répertoire IMG/lettre/

Personnaliser la lettre

version 3 et suivantes
Il suffit de surcharger les patrons livrés par défaut

public/malettre.html patron de la lettre (format HTML)
public/malettre_txt.html patron de la lettre (format texte)

version 2.1 et suivantes
2 fichiers uniquement définissent le patron des lettres envoyées

nom fichierdescription
malettre.html patron de la lettre (format HTML)
malettre_txt.html patron de la lettre (format texte)

Bien étudier ces deux fichiers qui utilisent des boucles POUR qui permettent de boucler sur la sélection d’articles de la newsletter.

version 2.0
Il suffit d’éditer les fichiers squelette contenus dans le répertoire ma-lettre

positionnom fichierdescription
1 malettre_header.html boucle l’entête de la lettre (incluant les styles)
2 malettre_edito.html boucle pour l’édito
3 malettre_item.html boucle pour un article
4 malettre_footer.html boucle pour le pied de la lettre

la même chose pour les fichiers malettre_txt_... qui décrivent l’affichage au format texte

Pseudo Balises

Dans vos squelettes, il est possible d’insérer les codes suivants

Pseudo-codeDescriptifRemarques
{URL_MALETTRE} Lien absolu de la lettre archivée sur le serveur
{TITRE_MALETTRE} Titre de la lettre (déterminé au moment de l’envoi)
{NOM_LISTE} Nom de la liste destinataire (défini dans le panneau du configuration) A partir de Ma lettre 3.2.0

Exemple d’utilisation dans un patron de lettre

<a href="{URL_MALETTRE}">Consulter cette lettre directement en ligne</a>
...
<h3>Lettre d'information </h3>
....
<a href="mailto:sympa@listes.domaine.org?subject=unsubscribe%20{NOM_LISTE}>Se désinscrire de la liste {NOM_LISTE}</a>

Gérer vos archives

Depuis la version 3, le plugin introduit une boucle MESLETTRES qui permet de lister les lettres envoyées depuis l’espace public

<B_archive><h3>Archives de la lettre d'information</h3>
<ul>
<BOUCLE_archive(MESLETTRES){pagination 5}{!par date}>
[<li><a href="(#CHEMIN{IMG/#URL_HTML})">#TITRE</a> envoyé le  [(#DATE|affdate_court)]</li>]
</BOUCLE_archive>
</ul>
[<div class="pagination">(#PAGINATION)</div>]
</B_archive>

Utiliser ma-lettre dans d’autres plugins

Depuis la version 3.3.4, la sélection de la dernière lettre (les id des articles, événements, édito et le titre) sont stockés dans la table spip_metas.

Cela permet d’utiliser le plugin malettre comme outil de composition et de sélection pour l’utiliser dans d’autres plugins (par exemple dans un template d’un plugin newsletter)

Voici le code pour récupérer ces données

#CONFIG{malettre-titre}
#CONFIG{malettre-selection_id_article_edito}
#CONFIG{malettre-selection}
#CONFIG{malettre-selection_eve}

Historique

versiondateremarque
4.1 2023 portage pour SPIP 4.1
4.0 juin 2022 portage pour SPIP 4.0
3.3 février 2014 destinataires « autres » multiples
3.2 novembre 2013 ajout de {NOM_LISTE}
3.0 juin 2012 portage pour SPIP 3
2.3 janvier 2011 configuration choix des objets à sélectionner : articles , événements
2.2 juin 2010 compatible avec le plugin Mes abonnés de gestions d’abonnement
2.1 novembre 2009 un seul squelette pour gérer l’ensemble de la lettre
2.0 janvier 2009 version compatible SPIP 2
0.91 décembre 2008 support du multilinguisme, ajout de langue : NL
0.9 octobre 2008 lien vers les archives publiques
0.86 mars 2008 sortie publique du plugin

Discussion

48 discussions

  • 2

    Bonjour,

    J’utilise ce plugin depuis très longtemps et il fonctionne super bien. Merci. Il répond totalement à mes besoins.
    Il y a une erreur que je ne suis jamais parvenue à résoudre et qui n’est heureusement pas bloquante :
    L’aperçu de la lettre s’affiche bien. Par contre, dans le cadre « version html », le message suivant s’affiche :

    Forbidden

    You don’t have permission to access /IMG/lettre/_malettre.html
    on this server.

    et même chose pour la version texte :

    You don’t have permission to access /IMG/lettre/_malettre_txt.html
    on this server.

    Le répertoire lettre a les mêmes droits que tous les sous-répertoires d’IMG à savoir : 775. _malettre et_malettre_txt.html sont générés avec les droits 666.
    Est-ce la cause du problème ?

    Merci bien pour votre aide. Je ne trouve pas de solution. Mais ça n’est absolument pas bloquant.
    Cordialement
    Martine

    • Il y avait un vieux bug qui empêchait l’affichage du source TXT et HML sur certaines configurations.
      C’est corrigé avec la version 4.1.1

    • Bonjour,

      Merci beaucoup. J’attends donc de pouvoir télécharger cette version.
      Bien cordialement
      Martine

    Répondre à ce message

  • 1

    Bonjour,

    Le plugin semble fonctionner avec 4.1 à condition de modifier le fichier paquet.xml :

    compatibilite=« [3.2.0 ;4.1.*] »

    Voilà une bonne nouvelle.
    Cordialement
    Martine

    Répondre à ce message

  • 7

    Bonjour,
    Est-il prévu une mise à jour de Malettre pour spip4.
    Merci. Cordialement
    Martine

    • Bonjour

      Pour l’instant je n’ai pas prévu de faire évoluer ma-lettre pour SPIP 4.
      Le plugin est vraiment ancien et il est préférable de migrer vers des plugins comme newsletter.

    • Bonjour,

      C’est vraiment dommage. Ce plugin est vraiment très simple d’utilisation et surtout, il permet d’utiliser des mailings-listes comme SYMPA.
      Newsletter n’est pas comparable de ce point de vue là.
      Je le regretterai.
      Bien cordialement
      Martine

    • Bah si je m’ennuie trop en janvier ... je pourrai peut-être y jeter un coup d’oeil :p

    • Bonsoir, je ne vous souhaite pas de vous ennuyer, mais cette application était bien simple et utile ! Bravo et merci pour ce qui a déjà été fait. ;)

    • Bonjour

      je viens de sortir la version 4.0.0 du plugin qui est compatible avec la branche SPIP 4.0.
      Le plugin requiert maintenant nécessairement le plugin Facteur pour envoyer ses emails. (à configurer avec un envoi via php, smtp ou une plateforme tierce).

      Merci de me faire vos retours si le plugin fonctionne bien avec cette version

    • Bonjour,
      il y a des petites coquilles au moment de l’envoi de la lettre : si on envoie à plusieurs destinataires, ça envoie autant de message à chaque destinataire qu’il y a de destinataires.
      De plus, dans le résumé de fin, le nom du destinataire n’apparaît pas.
      En cause, le fichier envoi_malettre.php

      $res = $envoyer_mail($destinataire,$lettre_title,$corps);
      
      			if (!$res) {
      				$message.= "<div style='color:red'><strong>$adresse_nom &lt;$adresse&gt;</strong> - "._T('malettre:erreur_envoi')."</div>";
      				//$message.= "Mailer Error: " . $mail->ErrorInfo;
      				$success_flag = false;
      				$j++;
      			} else {
      				$message.= "<div style='color:green'><strong>$adresse_nom &lt;$adresse&gt;</strong> - <span style='color:green'>"._T('malettre:succes_envoi')."</span></div>";
      			}

      Dans $envoyer_mail, il faut remplacer $destinataire (qui contient tous les destinataires) par $adresse (adresse du destinataire dans la boucle). Sinon facteur passe tous les destinataires à chaque boucle.
      Pour le nom, $adresse_nom n’est plus défini avec la mise à jour, remplacer par $destinataire_nom[$k].
      Cela donne :

      $res = $envoyer_mail($adresse,$lettre_title,$corps);
      
      			if (!$res) {
      				$message.= "<div style='color:red'><strong>$destinataire_nom[$k] &lt;$adresse&gt;</strong> - "._T('malettre:erreur_envoi')."</div>";
      				//$message.= "Mailer Error: " . $mail->ErrorInfo;
      				$success_flag = false;
      				$j++;
      			} else {
      				$message.= "<div style='color:green'><strong>$destinataire_nom[$k] &lt;$adresse&gt;</strong> - <span style='color:green'>"._T('malettre:succes_envoi')."</span></div>";
      			}
    • Merci Jerome pour ce report de bug ;

      J’ai intégré ta correction dans la version ma-lettre v4.0.1.
      Merci pour tout.

    Répondre à ce message

  • Bonjour,
    J’utilise la version 3.3.7 du plugin Ma Lettre avec Spip 3.2.11
    Lorsque je fais un envoi de lettre en sélectionnant plusieurs destinataires, chacun reçoit autant de messages (lettres) que de destinataires sélectionnés ; par exemple, si je sélectionne 3 destinataires, chacun des trois destinataires reçoit trois messages (avec les trois adresses de courriel dans destinataires)
    Est-ce normal ?
    N’y a t’il pas une solution pour que chaque destinataire ne reçoive qu’une seule fois ?
    Merci de votre future coopération

    Répondre à ce message

  • 1

    Bonjour

    Pourriez vous m’indiquer où l’on doit déposer le fichier malettre.html lorsqu’on le modifie ?

    merci

    • Francois Sauterey

      Bonjour tout le monde,

      Après avoir un peu erré, la réponse était en fait « évident » !
      Où met-on dans Spip les surcharges de squelettes ? Ben justement dans le répertoire squelettes !
      Donc ici dans squelettes/public...

      Et hop
      Francois

    Répondre à ce message

  • Bonjour,
    J’utilise le plugin ma-lettre en version 3.3.2, avec Saisies 2.18.4, facteur 3.4.10, le tout sur Spip 3.0 et Sarka-spip 3.2.46.
    Ma-lettre fonctionne normalement en utilisation avec une liste de diffusion ml.free.fr et en choisissant des articles.
    Par contre si je veux rajouter du html ou du texte, il n’apparaît pas ni en visualisation ni sur le message envoyé.
    Comment prendre en compte la version html et/ou la version texte ?
    J’ai cherché sur l’ensemble du forum je n’ai rien trouvé sur le sujet.

    Répondre à ce message

  • 4

    Bonjour,
    configuration ; SPIP 2.1.26, version plugin 2.3.3.
    La génération de la lettre ne fonctionne pas ( délais très long et fichier généré vide )
    (suite transfert d’un site vers un nouvel hébergement )
    Vérification du répertoire IMG/lettre (777)
    Les fichiers générés sont du type _malettre.html à 0 ko
    Pas de messages d’erreur, ...

    Bien cordialement

    • Bonjour,

      j’ai exactement le même dysfonctionnement avec la version SPIP 2.1.28, ma-lettre 2.3.3, Spip-Bonux 2.3.6.
      Quelqu’un a t-il trouvé d’où cela pouvait venir ? (php v 5.6)
      Merci pour votre retour.
      Cdt,
      ar.ro

    • Le plugin fonctionne bien mais le volet de prévisualisation utilise une iframe

      si votre site pour des questions de sécurité bloque les iframes, on ne verra pas la lettre

      Par exemple avec cette instruction dans le .htaccess, impossible de visualiser la lettre

      <IfModule mod_headers.c>
      Header always set X-FRAME-OPTIONS "DENY"
      </IfModule>

      Préférez dans ce cas, une consigne moins restrictive

      <IfModule mod_headers.c>
      Header always set X-FRAME-OPTIONS SAMEORIGIN
      </IfModule>

      Je viens ajouter un lien HTML simple vers la lettre en cours à côté pour les personnes qui n’ont pas la main sur ce paramètre pour qu’ils puissent quand même consulter la lettre.

    • bonsoir,
      merci pour votre message.
      J’utilise déjà des iframes sur mon site et cela fonctionne bien. J’ai tout de même ajouté les informations que vous m’avez indiqué, mais cela ne corrige pas le problème.
      Le changement de contexte à noter depuis ce dysfonctionnement, est la mise à jour de l’hébergeur (Debian 7 vers Debian 8) et donc des versions plus récentes de PHP, APACHE, MYSQL, etc.
      Pensez-vous que le problème pourrait venir de là ?
      Cdt,
      ar.ro

    • bonjour,
      j’ai réinstallé le site SPIP concerné sur une debian 7 et ma-lettre fonctionne correctement, donc je pense que le problème est lié à la mise à jour de debian, et je penche pour la nouvelle version de PHP (v. 5.6) qui ne doit plus être adaptée aux fonctionnalités demandés ici...
      Je continue les recherches... A suivre !
      Si entre temps, quelqu’un à des idées, je suis preneur !
      Cdt,
      ar.ro

    Répondre à ce message

  • Bonjour,

    J’utilise la version 3.3.0 de ce plugin sur un site spip version 3.0.16
    Lorsque j’essaie d’ajouter un article à une lettre, j’obtiens le message « noajax »
    Quelqu’un pourrait-il m’aider ?
    D’avance merci
    Cordialement
    GeF

    Répondre à ce message

  • 1
    Martine

    Bonjour,

    Je viens de mettre à niveau tous les plugins de spip, et par conséquent de passer d’une version 2 à la version 3 en cours de Ma-lettre.

    Au moment de générer la lettre, j’ai le message suivant :

    erreur : impossible de créer la lettre au format HTML, vérifier le paramètre chemin d’accès et les droits en écriture (chmod 777)(../IMG/.lettre)

    J’ai bien les droits 777 sur IMG et sur lettre (où sont stockées les archives des lettres).

    Pourquoi est-ce affiché /IMG/.lettre et non IMG/lettre ? Est-ce la source du problème ?

    En outre, je n’ai pas de difficulté à charger la dernière lettre ou les archives, à l’exception de la bannière, peut-être parce qu’elle était dans le répertoire img en version 2 et images en version 3 ? Mais ce point n’a pas une grande importance !

    Merci de votre aide.
    Cordialement
    Martine

    • Martine

      Complément à mon message précédent. Dans les logs d’erreurs, j’ai :

      PHP Warning : fopen(../IMG/lettre/_malettre.html) [function.fopen] : failed to open stream : Permission denied in .../plugins/auto/ma-lettre_3_0/formulaires/editer_malettre.php on line 101

      Merci de l’aide
      Martine

    Répondre à ce message

  • 2

    Bonjour. C’est très pratique ce plugin. Je me demandais s’il était possible de créer différents modèles pour l’envoi de newsletters différentes en fonction des activités de l’association (entête et signature différents par exemple) ? Je fais partie d’une asso qui a des activités assez distinctes (festival, revue, conférences) et ce serait pratique de n’avoir pas à changer à chaque fois les fichiers header et footer.

    Merci par avance pour votre aide.

    • pour l’instant, il n’est pas possible d’avoir plusieurs patrons dans ma lettre. je l’ajoute à la liste des TODOs...
      sinon vous pouvez toujours utiliser SPIP-Listes qui lui gère déjà plusieurs patrons à la fois

    • Bonjour je vois ce message, qui date de la V2
      je sais qu’il a été possible ensuite de le faire puisque j’avais dans mon plugin.xml les lignes

              <bouton id='malettre' parent='naviguer'>
      		<titre>malettre:ma_lettre</titre>
      		<icone>img/icon_malettre.png</icone>
      		<url>malettre</url>
      	</bouton>
      	<bouton id='malettre21' parent='bando_edition'>
      		<titre>malettre:ma_lettre</titre>
      		<icone>img/icon_malettre.png</icone>
      		<url>malettre&amp;modele=malettreidf</url>
      	</bouton>

      mais ce code, avec choix du « modele », était déjà peut-être modifié de votre version 2.0 ?

      en Version 3.3.0 comment faire dans paquet.xml pour indiquer la liste des boutons et des modèles ?

      merci d’avance
      JS

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom