Ce guide explique pourquoi les liens dans les archives publiques de Listmonk peuvent devenir inopérants et pourquoi l’intervention en base de données est la seule solution technique possible.
Lors de la consultation des archives, on peut constater que les liens contiennent le tag @TrackLink et renvoient une erreur (souvent une 404).
C’est un comportement normal lié à la conception de Listmonk :
@TrackLink est un « placeholder ». Lors de l’envoi d’un e-mail, ce tag est remplacé dynamiquement par un lien de suivi unique propre à chaque abonné.On pourrait être tenté d’éditer la campagne directement dans l’interface d’administration pour retirer le tag manuellement, mais c’est impossible pour deux raisons :
Si vous souhaitez tester l’opération sur une seule campagne (en utilisant l’identifiant récupéré dans l’URL de l’administration) :
# Remplacer [ID_CAMPAGNE] par le numéro correspondant
docker exec -i listmonk_db psql -U listmonk -d listmonk -c "UPDATE campaigns SET body = REPLACE(body, '@TrackLink', '') WHERE id = [ID_CAMPAGNE];"
Pour traiter l’intégralité de l’historique (cas de la migration de BlablaLinux avec 42 campagnes) :
docker exec -i listmonk_db psql -U listmonk -d listmonk -c "UPDATE campaigns SET body = REPLACE(body, '@TrackLink', '') WHERE body LIKE '%@TrackLink%';"
Le tag est supprimé directement dans la table campaigns. Listmonk n’essaie plus d’injecter de suivi sur ces anciens messages et les liens deviennent des liens standards, parfaitement fonctionnels pour n’importe quel visiteur.