Toujours dans la lignées des applications Python/AppEngine publiées sur abricocotierfr.appspot.com, j’ai créé un outil ‘CRM Mailer‘ auquel je réfléchissais depuis pas mal de temps, et dont la difficulté apparente m’empéchais de m’y mettre vraiment. Après avoir pris mon courage à deux mains (ou plutôt après avoir commencé calmement pour appréhender les difficultés une-à-une), il s’avère que j’ai à peu près réussi à obtenir un outil fonctionnel et simple à utiliser.
L’outil :
Le principe est de pouvoir envoyer des mails personnalisés.
Imaginons que vous ayez plusieurs personnes à qui vous souhaitez envoyer un même email, mais avec des parties personnalisées à chaque personne. Il vous faut donc un tableau à double entrées avec, pour chaque destinataire, des champs personnalisés.
Ensuite, dans le titre du mail et dans le corps de celui-ci, des balises {FIELD} indiquent où seront remplacées les informations pour chaque utilisateur, et ce bien sûr avant l’envoi de chaque mail.
Notez que c’est le principe de toute application de publipostage inclue dans n’importe quel CRM ou outil de listes de diffusion, permettant de personnaliser des mails envoyés en masse.
Là, dans mon application, on peut envoyer le mail personnalisé à un maximum de 10 personnes(en cliquant sur « Add To: »), et on peut également ajouter des pièces jointes (en cliquant sur « More » ; 3 pièces jointes maximum par mail). Pour supprimer un To: ou une pièce jointe, faite simplement « delete To: » ou « less », et la ligne sera supprimée.
J’ai mis des boutons autour du champs Subject et du champs Mail Content pour qu’il soit facile d’ajouter les références au sein du texte.
Par contre, je ne suis pas certain que l’utilisation d’un tel script soit facile pour tout le monde. Pour tout dire, je l’ai fait tester à une personne hier soir (qui n’avait jamais utilisé de CRM), et elle a eu du mal à comprendre le principe de ce script, même si, une fois que je lui ai expliqué l’idée, ça a été beaucoup mieux.
Les cas d’utilisation de ce script sont multiples : mails de faire part, de candidature pour un emploi (avec envoi de CV et/ou lettre de motivation en pièce jointe), de proposition de partenariat commercial, bref, dès qu’il y a un grand nombre de personnes à contacter avec une minorité de champs à adapter, ce script peu s’avérer utile. Evidemment, pour une utilisation plus poussée, je recommende l’utilisation d’un vrai CRM (par exemple VTigerCRM).
Exemple :
Page de confirmation :
Les subtilités de l’application :
Les mails sont envoyés au format texte. Donc pas de possibilité de mettre du HTML. Si je trouve un moyen de le faire, je le ferai. J’ai tenté avec TinyMCE Editor, mais le problème était que TinyMCE fonctionne avec une iframe, et donc je ne pouvais plus mettre de bouton {FIELD} pour placer les champs à modifier. J’ai bien tenté de créer un bouton custom avec TinyMCE, mais ça n’a pas fonctionné. Si vous avez des idées, je prends.
AppEngine a pas mal de limitations sur l’envoi de mail, notamment sur la bande passante sortante en terme de pièces jointes (limitée à 100Mo par 24h). Donc evitez d’abuser sur celles-ci, sinon l’application va tomber toute seule.
A cause d’AppEngine également, l’adresse de départ des mails (l’expéditeur) ne peut être qu’une adresse Gmail (ou Google Apps Edit : j’ai essayé avec le mien, en vain.), comme expliqué là :
For security purposes, the sender address of a message must be the email address of an administrator for the application,
Evidemment, le nombre de destinataires max pour le formulaire est un choix personnel. J’ai fixé à 10 la limite, parce que ça me semble être un bon compromis. Pareil pour les pièces jointes, la limite est à 3, mais je n’ai pas de quoi savoir s’il y a un besoin d’avoir davantage de champs à pièce jointe. Pareil pour les champs, j’ai limité à 3, mais je pourrais très bien augmenter.
Comme d’habitude, si vous êtes confrontés à des problèmes d’utilisation, n’hésitez pas à venir en discuter ici. Si vous avez des requêtes (vous voulez davantage de pièces jointes, davantage de destinataires, davantage de champs personnalisables ?), dites-le aussi en commentaire.
J’ai fais un premier test. La première approche n’est pas compliqué mais il faut tester une première fois sur ses adresses pour ne pas faire de conneries s’il s’agît d’une utilisation concernant l’envoi de candidature pour un emploi. Et surtout regarder tes screens pour comprendre comment fonctionne les FIELD.
Je n’avais jamais entendu parlé de cette technique d’envoi de mail, ça correspond tout à fait à l’impression de données variables dans le domaine de l’imprimerie, ce qui permet de bien cibler son client généralement.
Petit bug ? J’ai reçu en double le message que j’ai envoyé sur ma boite gmail je ne sais pas si c’est prévu ou non.
@Rizwan: Oui, pour la réception du message, j’ai l’impression que AppEngine envoi au sender une réplique de son mail. Mais je ne constate pas ça à tous les coups, donc je me pose une question. En fait, je me demande si AppEngine n’envoi pas le mail quand le sender n’a pas été trouvé (au lieu d’une erreur, AppEngine t’envoi le mail à toi…).
D’ailleurs on peut lire là :
Sinon, ouai, pour le principe de fonctionnement, j’avais déjà eu du mal à l’expliquer à la personne à laquelle j’ai montré le service, et j’ai pas trouvé de moyen clair non-plus dans mon billet. Le mot ‘variable’ est assez facile à comprendre pour toute personne qui en a l’habitude (par exemple, ceux qui ont fait quelques maths dans leurs études, ou comme tu dis ceux qui ont fait des études dans le domaine de l’imprimerie), mais je suis certains que les autres auront un peu de mal..
Dans le domaine de l’imprimerie on parle également d’impression personnalisé comme tu l’as très bien dis dans ton article 🙂
@Rizwan: Par contre, comment vous faites pour imprimer de façon personnalisée si vous faites d’abord des planches en dur ? (genre les planches flexibles en métal avec les pré-impressions utilisées pour imprimer les journaux)
Je lirai l’article ce soir mais je vois que tu ne lâches pas l’affaire 😉 je vais en parler à Christophe qui a son afffaire maintenant : gentlewine.fr
@Régis: Non non, je ne lache pas l’affaire. Ce genre d’appli m’est particulièrement utile. Pas en terme de vente à proprement parler, mais crois-moi, je m’en sers pas mal.