Un add-on SMS à MailPoet

MailPoet est un plug-in worpdress incroyable, excusez-moi pour l’adjectif, qui permet de déployer aisément une newsletter de qualité professionnelle. Gestion des inscriptions et des désinscriptions faciles, gestion des listes, design de vos e-mails responsives, possibilité de tracer l’ouverture des newsletters.

EDIT:  L’add-on est seulement compatible avec MailPoet 2.  La version 3 de MailPoet a complétement réorganisé les tables de la base de données et cela nécessite donc de redévelopper l’add-on…

Bref bref, que du bonheur à gérer et à utiliser.

Mais voilà parce qu’on en a jamais assez, le club chez qui j’ai déployé cette solution m’a fait part de son besoin de pouvoir avertir à la dernière minute ses adhérents en cas de fermeture inopinée de la piscine. Et bon on est d’accord, pour ça une newsletter c’est pas le top.

Pourquoi ? Déjà une newsletter qui se respecte ne s’envoie pas en un seul flux sur un intervalle court, afin d’éviter le blacklistage opérateur. Mais aussi parce que « les vraies gens » ne sont pas tous des geeks en puissance, lisant à la minute même le moindre e-mail reçu. Votre mail d’alerte a donc de fortes chances de se retrouver noyé dans la masse.

Dans notre cas, certains parents déposent les enfants à une cinquantaine de mètres de la piscine, ceux-ci se retrouvant devant porte close  sans possibilité de joindre leurs parents. C’est dommage…

Mais voici venue la SOLUTION ! Un plug-in permettant d’envoyer des campagnes SMS à l’aide de MailPoet.

L’idée, utilisation d’un téléphone mobile Android avec l’application SMS Gateway. Configuration de la box sur lequel est branché le smartphone afin qu’il puisse recevoir des requêtes HTTP depuis votre site web. Une requête HTTP correspondant à un SMS avec son correspondant et son texte pour SMS Gateway.

Bien sûr, faire attention à l’opérateur mobile que vous utilisez, après tout pas sûr que l’envoi de SMS de masse soit autorisé avec votre forfait.

Afin de limiter les dégâts au niveau du nombre de SMS à envoyer, on crée dans MailPoet une liste pour chaque jour d’ouverture du club. Pourquoi pas par activité ? Beaucoup trop d’activités dans le club avec des répétitions d’horaires, etc. Et c’est beaucoup plus rapide pour les personnes du club de choisir par eux-mêmes à quel jour de la semaine ils doivent s’abonner.

Le plug-in est disponible sur Github: https://github.com/enzo-g/MP-SMS

Alors au niveau des bugs à l’instant T:

* Si on envoie plus de 100 SMS en un coup, risque de timeout et donc pas tous les abonnés recevront la campagne SMS.
* La zone pour écrire les SMS ne gère pas le retour à la ligne.

 


Tutoriel de mise en place du plug-in:

Étape 1: Configurer Android

Installation de SMS Gateway

En premier lieu trouver un smartphone Android que vous pourrez laisser à un emplacement fixe, connecté à un box Internet en permanence. Installer via le playstore ou directement via le fichier .apk, l’application SMS Gateway.

 Configuration de l’IP du téléphone: Cette option pouvez change d’un téléphone à l’autre avec les différentes surcouches constructeurs et opérateur. Je vous laisse chercher sur internet pour trouver les instructions concernant votre modèle de téléphone.

Étape 2: Configurer votre Box/Routeur

Malheureusement je ne peux pas expliquer cette manipulation qui est différente en fonction du modèle de Box Internet / Routeur que vous posséder. La manipulation que vous allez devoir effectuer concerne le NAT/PAT. Vous devez faire en sorte que les requêtes qui seront envoyé depuis le site web sur l’adresse IP publique de votre box atteigne votre téléphone.

Donc si par exemple je définis sur le site que l’adresse où joindre le téléphone est la suivante: http://Mon-IP-Publiquet:15000. Vous devez faire en sorte que le port externe 15000 de votre port pointe vers l’adresse privé de votre smartphone. Avec SMS gateway sur le port 9000: http://Mon-IP-PRIVE:9000

Bien sûr je vous recommande l’utilisation d’un DNS Dynamique si jamais vous ne possédez pas une adresse IP publique fixe.

Étape 3: Configurer MailPoet

Il est nécessaire de modifier manuellement 2 points particulier dans MailPoet, l’un nécessitant de vous connectez à votre base de données via phpmyadmin par exemple.

Dans MailPoet: Réglages > Formulaires > Modifier le formulaire que vous utilisez > Cliquer sur ajouter un nouveau champ > Choisir champ texte, valider pour « Uniquement des chiffres ».

Ensuite se rendre dans votre BDD, et se rendre dans la table wysija_user, et modifier la colonne cf_X (avec X pour chiffre le plus élevé, qui correspondra à votre dernier custom field créé.) Les modifications à faire, limiter la taille du varchar à 10 caractères.

Étape 4: Installer/Configurer l’extension

Le plug-in n’étant pas disponible sur les dépôts de WordPress, il va falloir télécharger le zip à l’adresse: https://github.com/enzo-g/MP-SMS et le dézipper dans le répertoire /wp-content/plugins/ et bien sûr l’activer ensuite.

Bref, une fois activé le plug-in est accessible aux éditeurs et administrateurs du site. via le menu MP-SMS.

En cliquant sur « Settings », vous pourrez modifier l’adresse IP à laquelle joindre votre smartphone, ainsi que l’ID du « custom field » où se trouve les numéros de vos utilisateurs.
J’ai ajouté le nom des colonnes présentes dans la table wysija-user afin que vous n’ayez pas besoin de vous connecter à votre base de donné pour obtenir la valeur du « custom field » à déclarer.

La page Contacts, affichera la liste des personnes ayant enregistré un numéro de téléphone respectant ces critères, commence par 06 ou 07 et utilisateurs toujours abonnés.


Comme je l’ai signalé, c’est un plug-in fait maison, je ne suis pas spécialisé en développement 😉 mais si jamais ce plug-in permet d’encourager un meilleur développeur à faire une extension similaire, mais non buggé, tant mieux ! 🙂

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.