Recherche
Peut être aimerez-vous...
Sections du site
Sites Neamar
Lisez ces articles !
| Message post mortem : étape 2 |
|
| Programmation et tuning - Programmation Web |
| Écrit par Neamar |
| Jeudi, 29 Octobre 2009 16:21 |
|
Reprenons notre petite série "Message post mortem" : dans le dernier article, nous avons créé le script qui appelle une fois par mois notre fichier incaseofdeath.php. Aujourd'hui, nous allons faire la première partie du fichier : la gestion vie / mort. Pré-requis :
En route ! Étape 2 : le corps du fichierUne fonction mailPremièrement, nous allons faire une fonction qui permet l'envoi d'un mail facilement. Je ne vais pas détailler, vous pouvez faire cela très simplement avec mail() ou un peu plus compliqué pour pouvoir envoyer un message au format HTML, ce qui facilitera le clic sur le lien quand vous recevrez votre demande de "confirmation de vie". //******************************************** //Permet l'envoi d'un mail via une fonction simple. //******************************************** function envoimail($to,$subject,$message) { // Pour envoyer un mail HTML, l'en-tête Content-type doit être défini $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; // En-têtes additionnels $headers .= 'From: Webmaster <votre@email.fr>' . "\r\n";//Remplacez par une adresse sur le domaine de votre site pour ne pas voir votre mail arriver dans les indésirables. mail($to, $subject, $message, $headers); } Le fichierIl n'y a rien de bien compliqué ici, je mets directement le fichier. Lisez les commentaires si nécessaire ! //Vérifier que l'appel du fichier est correctement sécurisé. Voir la première partie. if(!defined('CHECK_DEATH')) exit(); //Attention, je rajoute un espace devant le @ pour corriger un bug joomla! Dans votre script, l'adresse mail doit être correcte ! $Envois=array( 'monmeilleurami@sonfai.fr'=>"<p>Salut mon meilleur ami ! Si tu reçois ce mail, c'est que je suis décédé, ou alors je n'ai pas donné signe de vie depuis un mois, ce qui revient presque au même. Le mot de passe pour accéder à mon super site est 'monsuperpasswordultracrypté'.</p>", 'mameilleureamie@sonfai.fr'=>'<p>Crève, je te déteste de toute façon.</p>' ); if(file_get_contents('alive.txt')==1) {//On a donné signe de vie le dernier mois, on relance donc la machine ! file_put_contents('alive.txt',0); envoimail('votre@email.fr','Still alive ?','<p>Yo Moi même ! Heureux de constater que tu lis ce mail ;) <a href="http://LIENVERSLE FICHIER/incaseofdeath.php?Alive">Clique ici pour garder tous les électrons au courant</a>.'); } else {//Et merde, il semblerait que je sois mort. On va donc envoyer tous les mails demandés foreach($Envois as $Dest=>$PostMortem) { envoimail($Dest,"Message post mortem de VOTREPSEUDO",$PostMortem); } } Et voilà, la base du script est opérationnelle. if(isset($_GET['IsAlive'])) { file_put_contents('../admin/raw/alive',1); echo '<p>Parfait, heureux de l\'apprendre ! Passe un bon mois :)</p>'; exit(); } Et cette fois, tout est opérationnel ! Dans le prochain et dernier volet, nous aborderons l'aspect sécurité. Pour les vilains fainéants, je remets l'intégralité du script : //******************************************** //Permet l'envoi d'un mail via une fonction simple. //******************************************** function envoimail($to,$subject,$message) { // Pour envoyer un mail HTML, l'en-tête Content-type doit être défini $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; // En-têtes additionnels $headers .= 'From: Webmaster <votre@email.fr>' . "\r\n";//Remplacez par une adresse sur le domaine de votre site pour ne pas voir votre mail arriver dans les indésirables. mail($to, $subject, $message, $headers); } if(isset($_GET['Alive'])) { file_put_contents('../admin/raw/alive',1); echo '<p>Parfait, heureux de l\'apprendre ! Passe un bon mois :)</p>'; exit(); } //Vérifier que l'appel du fichier est correctement sécurisé. Voir la première partie. if(!defined('CHECK_DEATH')) exit(); //Attention, je rajoute un espace devant le @ pour corriger un bug joomla! Dans votre script, l'adresse mail doit être correcte ! $Envois=array( 'monmeilleurami@sonfai.fr'=>"<p>Salut mon meilleur ami ! Si tu reçois ce mail, c'est que je suis décédé, ou alors je n'ai pas donné signe de vie depuis un mois, ce qui revient presque au même. Le mot de passe pour accéder à mon super site est 'monsuperpasswordultracrypté'.</p>", 'mameilleureamie@sonfai.fr'=>'<p>Crève, je te déteste de toute façon.</p>' ); if(file_get_contents('alive.txt')==1) {//On a donné signe de vie le dernier mois, on relance donc la machine ! file_put_contents('alive.txt',0); envoimail('votre@email.fr','Still alive ?','<p>Yo Moi même ! Heureux de constater que tu lis ce mail ;) <a href="http://LIENVERSLE FICHIER/incaseofdeath.php?Alive">Clique ici pour garder tous les électrons au courant</a>.'); } else {//Et merde, il semblerait que je sois mort. On va donc envoyer tous les mails demandés foreach($Envois as $Dest=>$PostMortem) { envoimail($Dest,"Message post mortem de VOTREPSEUDO",$PostMortem); } } |
| Mise à jour le Mercredi, 20 Janvier 2010 13:44 |
