Gérer une grosse liste d’envois sécuritairement sans y laisser sa peau

Depuis un bout de temps j’utilise PHPList et récemment un de mes clients (une association) a dépassé le cap des 2500 abonnés sur sa liste. L’hébergeur fait bien sa job de surveillance et j’ai reçu plusieurs avertissements pour le volume d’envois.

C’est que quand on dépasse quelques centaines d’abonnés, on abandonne rapidement n’importe quel logiciel de messagerie de style Outlook ou Thunderbird et on commence à regarder du côté serveur. Il existe des solutions commerciales mais je préfère toujours regarder du côté logiciels libres surtout pour l’accès au code source et la possibilité de mettre en oeuvre soi-même des suggestions et améliorations.

Dans ce cas précis l’hébergeur indiquait que selon ses rapports de surveillance, les envois de l’association dépassaient leur limite « raisonnable » de 1000 courriels par heure. Il suggèrent utiliser un formulaire disponible à partir de leur interface d’administration mais cela impliquait:

  • Dépendre d’eux en cas de pépin non relié à l’hébergement
  • Pas beaucoup de possibilités côté personalisation ou améliorations

En vérifiant les dernières versions de PHPList, j’ai pu constater que plusieurs problèmes d’interface avaient été rêglés (comme l’envoi simultané de versions textes et HTML des courriels) et une mise à jour de sécurité me poussait à faire une mise-à-jour de toute manière. Ah et le problème du volume d’envois ? Voyez plus loin…

Comme je voulais passer l’interface sous SSL (pour chiffrer tous les échanges entre l’administrateur de la liste et le site), je procède et voilà que je me rends compte que PHPList n’est pas conçu pour fonctionner sous SSL! Ayant accès au code source, j’ai cherché dans les forums pour « SSL » et quelqu’un avait posté un solution qui marchait « presque ». J’ai donc corrigé le tir et hop, PHPList sécurisé.

Le plus attrayant de cette solution, avant que j’oublie, c’est qu’on peut la paramétrer pour envoyer X messages à toutes les Y secondes. Donc j’ai choisi 990 messages toutes les heures et voilà, mon hébergeur sera satisfait. Ah, et le système fait un petit rapport toutes les heures pour indiquer l’avancement de l’envoi. Un exemple de rapport:

[Thu 10 Nov 2005 06:27] [addresse IP] Started
[Thu 10 Nov 2005 06:27] [adresse IP] Sending in batches of 990 emails
[Thu 10 Nov 2005 06:27] [adresse IP] Processing has started, 1 message(s) to process.
[Thu 10 Nov 2005 06:27] [adresse IP] Please leave this window open.
You have batch processing enabled, so it will reload several times to send
the messages. Reports will be sent by email to webmaster@xxxxxxxxxxxxx.xxx
[Thu 10 Nov 2005 06:27] [adresse IP] Processing message 64
[Thu 10 Nov 2005 06:27] [adresse IP] Looking for users
[Thu 10 Nov 2005 06:27] [adresse IP] Found them: 2514 to process
[Thu 10 Nov 2005 06:43] [adresse IP] batch limit reached: 990 (990)
[Thu 10 Nov 2005 06:43] [adresse IP] Script stage: 5
[Thu 10 Nov 2005 06:43] [adresse IP] 990 messages sent in 988.66 seconds (3604 msgs/hr)

 

Une réflexion sur « Gérer une grosse liste d’envois sécuritairement sans y laisser sa peau »

Les commentaires sont fermés.