Solution 1 : faire des mises à jour incrémentales

À partir du moment où vous avez fait une mise à jour de vos listes de diffusion / discussion, vous devez enregistrer les nouveaux adhérents dans un fichier à part.

Au moment de la prochaine mises à jour, vous copierez les adresses mél (et noms) de votre fichier des nouveaux adhérents (pour ceux qui ont donné leur accord pour s'abonner à la liste) et vous le copierez dans la zone d'abonnement par lot de votre liste de diffusion / discussion.

Ainsi seuls les nouveaux adhérents sont ajoutés dans la liste. Les anciens adhérents ne sont pas impactés.

Ensuite vous intégrerez le contenu du fichier des nouveaux adhérents dans le fichier global des adhérents, et vous recommencerez avec un fichier des nouveaux adhérents vierge.

Solution 2 : faire des mises à jour complètes en utilsant les listes d'exclusion de Sympa

Vous tenez à jour votre fichier des adhérents, et à chaque mise à jour de la liste vous utilisez la totalité du fichier des adhérents.

Dans ce cas il faut que les personnes qui entre temps se sont désinscrites de la liste de diffusion / discussion n'y soient pas remises.

Cela est possible grâce au dispositif de liste d'exclusion de Sympa. Les personnes qui se désabonnent (ou sont supprimées) d'une liste de diffusion / discussion sont automatiquement ajoutées à la liste d'exclusion de cette liste. Ceci fonctionne à condition que votre liste de diffusion / discussion soient alimentée par une source externe définie dans sa configuration.

Plusieurs types de sources externes sont possibles :

  • fichier texte local d'adresses email (une adresse email par ligne)
  • fichier d'adresse email distant (ou toute URL renvoyant du plain text et contenant une adresse email par ligne)
  • autre liste du serveur
  • liste située sur un autre serveur (nécessite une configuration sur chacun des deux serveurs)
  • requête dans une base de données SQL
  • requête dans un annuaire LDAP

Nous allons dans ce tutoriel utiliser comme source une autre liste du même serveur Sympa.

Mise en place

Étape 1. Créer la liste source

Cette liste va contenir la totalité de vos adhérents ayant accepté d'être inscrits à une liste de diffusion / discussion.

Vous mettrez à jour cette liste à partir de votre fichier adhérent tenu à jour (Sympa évitera les doublons).

Cette liste ne doit pas être utilisée pour envoyer des messages.

Cette liste va servir de source à la ou les listes de diffusion / discussion.

Étape 2. Définir la source de votre liste de diffusion / discussion

Ouvrez l'interface d'administration de la liste. Allez dans la rubrique "Définition des sources de données".

Remplissez la section : "Inclusion d'une liste (include_sympa_list)"

  • name : donnez un nom de votre choix
  • listname : indiquez le nom de la liste source
  • filter : facultatif, permet de filtrer en fonction du contenu de la source, voir documentation en lien en bas de page.

Cliquez sur le bouton "Mise à jour" en bas de page.

Lorsque vous affichez la liste des abonnés, ceux-ci doivent désormais inclure le contenu de la liste source.

Si la synchronisation ne s'est pas effectuée, cliquez sur le bouton "Synchroniser les membres avec les sources de données".

Fonctionnement

Au fil du temps les personnes qui se désinscrivent ou sont supprimées de la liste de diffusion / discussion sont automatiquement mises dans la liste d'exclusion. Vous pouvez consulter cette liste en appuyant sur le bouton "Exclure" (entouré en rouge dans le schéma ci-dessus).

Lorsque vous mettez à jour la liste globale de vos adhérents, mettez à jour la liste source. La liste de diffusion / discussion se synchronisera automatiquement : les nouveaux adhérents seront ajoutés à la liste. Si des adresses ont été enlevées de la liste source elles seront également enlevées de la liste de diffusion / discussion (à moins qu'elles n'aient été ajoutées manuellement à cette dernière).

La liste des abonnés est mise à jour depuis les sources de données en plusieurs circonstances :

  • régulièrement, via une tâche du gestionnaire de tâches. La fréquence de mise à jour est gouvernée par le paramètre ttl de la liste ;
  • à chaque fois que la liste des abonnés est consultée ou qu'un message est envoyé.

Sinon vous avez la possibilité de forcer la synchronisation via le bouton déjà cité.

Une personne qui se trouve dans la liste d'exclusion ne sera pas remise dans la liste lors de la synchronisation.

Néanmoins si cette personne est par la suite rajouté manuellement à la liste elle sera automatiquement retirée de la liste d'exclusion. Vous pouvez aussi retirer manuellement des personnes de la liste d'exclusion.

Lien utile

Formation officielle Sympa, § Sources de données.