[php]mail()

Bonjour,
je me demande comment on peut s'assurer d'envoyer un mail prés une date une seule fois x)
Configuration: Windows XP
Firefox 3.0.5

4 réponses

  1. si personne n 'a exécuter cette page a cette heures là x) ou bien plusieurs exécution , j'ajouterais un booléen dans la base donnée ahhh merci fréro :)
    1. Ce que tu dois faire, c'est dire : si nous sommes le 2/2/2009, alors on envoie l'e-mail.

      Comme ceci :

      <?php $jour = date('d');
      $mois = date('m');
      $annee = date('Y');

      if($jour = "02" && $mois = "02" && $annee = "2009")
      {
      $headers ='From: "ton nom"<ton adresse mail>'."\n";
      $headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
      $headers .='Content-Transfer-Encoding: 8bit';

      $message ="Ton message";

      if(mail('adresse mail du destinataire', 'Titre du mail', $message, $headers))
      {
      echo 'Le message a été envoyé';
      }
      else
      {
      echo 'Le message n\'a pu être envoyé';
      }
      }
      ?>

      Par contre, il faut mettre une heure précise pour ne pas l'envoyer toute la journée. Dans ce cas il faut mettre :

      <?php $jour = date('d');
      $mois = date('m');
      $annee = date('Y');
      $heure = date('H');
      $minute = date('i');
      $seconde = date('s');

      if($jour = "02" && $mois = "02" && $annee = "2009" && $heure = "12" && $minute = "00" && $seconde = "00")
      {
      $headers ='From: "ton nom"<ton adresse mail>'."\n";
      $headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
      $headers .='Content-Transfer-Encoding: 8bit';

      $message ="Ton message";

      if(mail('adresse mail du destinataire', 'Titre du mail', $message, $headers))
      {
      echo 'Le message a été envoyé';
      }
      else
      {
      echo 'Le message n\'a pu être envoyé';
      }
      }
      ?>
      Ce qui fait que l'e-mail sera envoyé le 02 février 2009 à midi !

      Voilà
      1. merci pour la réponse , mais mon problème est :
        j'ai par exemple une date 2/2/2009 je veux envoyer l'email aprés cette date mais juste une seule fois ,pas a chaque exécution de mapage.php je pense que je dois ajouter une table dans la base donnée x)
        1. Il faut que tu rajoutes ceci :

          <?php
          $headers ='From: "ton nom"<ton adresse mail>'."\n";
          $headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
          $headers .='Content-Transfer-Encoding: 8bit';

          $message ="Ton message";

          if(mail('adresse mail du destinataire', 'Titre du mail', $message, $headers))
          {
          echo 'Le message a été envoyé';
          }
          else
          {
          echo 'Le message n\'a pu être envoyé';
          }
          ?>

          Voilà