envoi d'un mail

envoi d'un mail - PHP - Programmation

Marsh Posté le 10-07-2009 à 10:20:43    

bonjour, j'ai une table avec un champ appelé new_value. Ce champ contient les nouveaux insertions; Mon problem c'est que je veux envoyer les nouveaux insertions par mail. Heureuseument j'ai réussi a envoyer le mail avec le nom de nouveau insertion mais malheureuseument a chaque envoi de mail je recu toutes les insertions( les anciens et les nouveaux) alors que je veux q'une donnée est envoyé une seul fois et pas envoyer une deuxiéme fois avec le nouveau enregistrement. J'ai pensé a marqué la donnée aprés l'envoi comme ca il y a envoi seuleument des données non marqués mais je sais pas comment le faire. Il y a quelqu'un qui peux m'aidé ou a une autre idée.
voila le code de mail:
 
$mail->IsSMTP();
$mail->From = ;
$mail->FromName = 'nom';
$mail->Host = ' ';
$mail->SMTPAuth = false;
$mail->Username = '';
$mail->Password = '';
$mail->AddAddress(' ');
$mail->Subject=("Ajout d'une nouvelle  enregistrement " );
$mail->headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
$mail->headers .='Content-Transfer-Encoding: 8bit';
$mail->Body=( $data["new_value"]);//le noveau donnée inserer
if(!$mail->Send())
  {
       echo $mail->ErrorInfo; //Affiche le message d'erreur
  }
       else{      
   echo 'Mail envoyé avec succès';
          }
 $mail->SmtpClose();
    unset($mail);
}
merci en avance

Reply

Marsh Posté le 10-07-2009 à 10:20:43   

Reply

Marsh Posté le 10-07-2009 à 10:40:33    

C'est dans ta requete SQL :
 
SELECT blabla,blabla FROM blabla ORDER BY id LIMIT 0,1

Reply

Marsh Posté le 10-07-2009 à 11:19:54    

merci pour la réponse mais je recu l'avant dernière donnée et pas la dernière :
Ma requete:ORDER BY a.ID DESC LIMIT 0,1";

Reply

Marsh Posté le 10-07-2009 à 11:24:24    

un grand merci pascal le nain j'ai réussi maintenant a le faire. J'ai une autre question: comment je peux rendre l'envoi de ce mail automatique sans ouvrir la page de l'application.
merci une autre fois

Reply

Marsh Posté le 10-07-2009 à 12:46:19    

j'ai testé l'envoi avec LIMIT 0,1 mais c'est pas idéal. Car si j'insère  3 données successivement je reçois seulement la troisième.Alors je veux envoyer un mail a chaque insertion( tous les données sont envoyées)
SVP il y a quelqu'un qui peut m'aidé

Reply

Marsh Posté le 10-07-2009 à 15:12:33    

il n 'y a personne qui peut m'aidé?

Reply

Marsh Posté le 10-07-2009 à 16:08:36    

un script php appelé par le cron (si t'es sous linux) qui va faire ce que tu veux.
 
edit : merci de faire un effort sur l'orthographe. :o


Message édité par rufo le 10-07-2009 à 16:09:00

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 10-07-2009 à 16:12:24    

désolé pour l'orthographe
je suis sous windows et pas linux

Reply

Marsh Posté le 10-07-2009 à 16:32:23    

commande at alors ou tout autre soft de planification de tâches.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 10-07-2009 à 16:37:14    

Pour avoir la dernière tu fais ORDER BY id DESC
 
Comment insères-tu tes données ?
 
Tu peux très bien envoyer un mail après chaque INSERT... Je vois pas le problème...
 
 

Code :
  1. mysql_query(INSERT INTO gnagna(gnagna) VALUES (gnagna));
  2. mail(gnagna);


Message édité par Pascal le nain le 10-07-2009 à 16:38:38
Reply

Marsh Posté le 10-07-2009 à 16:37:14   

Reply

Marsh Posté le 13-07-2009 à 14:52:03    

bonjour, j'ai créé une tâche planifiée qui lance un fichier ".bat"  mais ma page php ne se lance pas.
voila mon fichier .bat
@echo off
c:\Program Files\..\..\php\php.exe  c:\Program Files\..\xampp\htdocs\..\..\..\..\ma_page.php"
 

Reply

Marsh Posté le 13-07-2009 à 15:21:59    

cette méthode doit marcher aussi
mais moi je fais avec wget, c'est plus lourd mais ca marche bien.
 
Aprés c'est normal tout tes .. dans les chemins? ou c'est juste parce que les chemins sont longs

Reply

Marsh Posté le 13-07-2009 à 15:40:30    

merci pour la réponse, oui les chemins sont longs pour cela j'ai remplacé par des points.les chemins long cause de pb vraiment j'ai pas trouvé l'erreur

Reply

Marsh Posté le 13-07-2009 à 16:05:31    

stp tu peux m'expliqué comment tu as fais avec wget

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed