Script pour ne pas envoyer de mail en cas d'echec

Fermé
enselme - Modifié par jordane45 le 11/03/2015 à 10:31
 enselme - 11 mars 2015 à 12:05
salut a tous
j'ai réussi à envoyer des mails en ajoutant de fichiers en pièce jointe .
mon soucis c'est que souvent quand les fichiers sont absents le mail va sans pièce
jointe j'aimerai stopper le mail s'il n'y a pas de fichier en pièce jointe et un signale par SMS sur mon portable pour m'avertir qu'il n'y a pas de fichier joint.
voici le script d'envoie qui marche bien.

 <?PHP 
 // On va chercher la définition de la classe
   require_once(dirname(__FILE__).'/phpmailer/class.phpmailer.php') ;
 
   $mail->SetFrom("mail","nom");
   // Définition du sujet/objet
   $mail->Subject = "FICHIER";
   // On définit le corps du message
   $mail->Body = "blablabla";
 
   // Il reste encore à ajouter au moins un destinataire
   $mail->AddAddress('mail');
   $mail->AddCC("mail","nom");
  
   // On met notre CV en pièce jointe
   $mail->AddAttachment('FICHIER.txt');
   $mail->AddAttachment('FICHIER1.txt');
   // Pour finir, on envoi l'e-mail
   //$mail->send();
   if(!$mail->Send()) {
     echo "Mailer Error: " . $mail->ErrorInfo;
   } else {
     echo "Message sent!";
     // SUPPRESSION DES FICHIERS 
               shell_exec(" rm -f FICHIER.txt FICHIER1.txt");
   }
   
  
?>


merci

EDIT : Ajout des balises de code
A voir également:

1 réponse

jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 717
11 mars 2015 à 10:35
Bonjour,

1 - Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

2 - La fonction addAttachement retourne TRUE ou FALSE si l'ajout de PJ a fonctionné ou non.
https://wp-a2z.org/sitemap/sites/

Il te suffit donc de tester cela avant d'envoyer le mail ou non


  // On met notre CV en pièce jointe
  $pj1 = $mail->AddAttachment('FICHIER.txt');
  $pj2 = $mail->AddAttachment('FICHIER1.txt');

if($pj1 && $pj2 ) {
   // Pour finir, on envoi l'e-mail
   //$mail->send();
   if(!$mail->Send()) {
     echo "Mailer Error: " . $mail->ErrorInfo;
   } else {
     echo "Message sent!";
     // SUPPRESSION DES FICHIERS 
               shell_exec(" rm -f FICHIER.txt FICHIER1.txt");
   }
}else{
 echo "Error Attachement";
}



0
oui j'ai essayé et ça fonctionne correctement mon problème ajouter une condition pour ne pas envoyer de mail s'il n'y pas de pj .
0
mais quand j'ajoute ma condition ça ne fonctionne pas
0