Obscurcir mailto:foo@bar.com lors de l'importation d'archives de courrier

:warning: Assurez-vous de sauvegarder Discourse avant d’essayer ce qui suit :warning:

Voici comment remplacer toutes les adresses e-mail dans les publications par [email_redacted]. L’expression régulière est assez limitée et risque d’en manquer certaines, mais je préfère une expression que je peux lire et comprendre lors de la modification du contenu de toutes les publications.

$ ./launcher enter app
/var/www/discourse# su - postgres -c psql
psql (13.2 (Debian 13.2-1.pgdg100+1))
Tapez "help" pour obtenir de l'aide.

postgres=# \c discourse
Vous êtes maintenant connecté à la base de données "discourse" en tant qu'utilisateur "postgres".
discourse=# \set re '[0-9a-z._%+-]+@[a-z0-9.-]+\\.[a-z]{2,64}'
discourse=# update posts set raw = regexp_replace(raw, :'re', '[email_redacted]', 'gi') where raw ~ :'re';
UPDATE 1
discourse=# update posts set cooked = regexp_replace(cooked, :'re', '[email_redacted]', 'gi') where cooked ~ :'re';
UPDATE 1