Je ne vais pas prétendre avoir réinventé la roue. Il ne s’agit ni plus, ni mois qu’un simple script d’envoi d’e-mail en php utilisant la fonction mail couplé avec une tache cron. Cela a l’avantage d’être simple à mettre en place et ça fonctionne très bien.
J’avais utilisé ce script pour pourrir un peu OVH qui m’était 3 semaines à répondre entre chaque demande. Ceux qui me suivent sur Twitter on peut-être vu mes déboires avec eux.
Le script
Côté Php rien de plus simple :
<?php $to = 'email@destinataire.tld'; $subject = 'Sujet de votre message'; $message = "Votre message en plain/text, "; $headers = array( 'From' => 'monemail@expediteur.tld', 'Reply-To' => 'email@reponse.tld', 'X-Mailer' => 'PHP/' . phpversion() ); mail($to, $subject, $message, $headers); ?>
Tâche Cron
Là c’est à vous de voir à quelle fréquence vous souhaitez envoyer le message. Pour ma part, j’avais voulu être raisonnable et me limiter à 4 envois par jour. Ce qui donnait dans mon cas :
Minute : 0 Hour : 0,4 Day : * Month : * Weekday : *
Il faut maintenant renseigner la ligne de commande. Vous devez renseigner le chemin complet du script. Pour obtenir le chemin complet, créer un fichier test.php, copiez le bout de code ci-dessous. Placez le fichier dans le même répertoire que le script d’envoi d’e-mail. Ouvrez la page test.php dans votre navigateur.
<?php $_SERVER['SCRIPT_FILENAME'] ?>
Si vous êtes sur environnement Cpanel cela va vous retourner quelque chose comme :
/home/user/public_html/nomdedomaine.com/mon_script.php
Le chemin identifié, vous ferez précéder votre chemin du binary, en l’occurrence php dans notre exemple. Ce qui donne la ligne de commande suivante :
/usr/local/bin/php /home/user/public_html/nomdedomaine.com/mon_script.php
Pensez bien à laisser un espace entre php et /home
Sur un environnement Cpanel, les tâches Cron sont dans le bloc avancé. Si votre environnement est en anglais, c’est le bloc Advanced et l’icone Cron Jobs.
Par défaut Cpanel vous propose des configurations comme toutes les minutes, toutes les heures, toutes les 5 minutes… A vous de choisir ce qu’il vous convient le mieux.
Ouh que c’est vilain ça 😄 !