Problème multi-destinataires avec PHPMailer

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème multi-destinataires avec PHPMailer

Re: Problème multi-destinataires avec PHPMailer

par olivier147 » 03 nov. 2016, 10:44

Bon, j'ai crié victoire trop vite, le soucis subsiste...
Ça se passe de la même manière que la première fois, il envoie le mail en double instantanément puis deux autres toutes les 5 minutes...incompréhensible.

Re: Problème multi-destinataires avec PHPMailer

par olivier147 » 31 oct. 2016, 17:36

je te remercie, ça semble fonctionnait nickel

Re: Problème multi-destinataires avec PHPMailer

par Spols » 31 oct. 2016, 14:47

change ceci
// Destinataire
while( $r=mysql_fetch_array($q) )
{
    $email = $r['Mail'];  
    for($i=0;$i<count($email);$i++){
   
   $mail->AddAddress($email);
};
}
en ceci
// Destinataire
while( $r=mysql_fetch_array($q) )
{
    $email = $r['Mail'];  
    $mail->AddAddress($email);
}

Re: Problème multi-destinataires avec PHPMailer

par olivier147 » 31 oct. 2016, 14:24

Bonjour Spols,

Je me suis sûrement mélangé les crayons, je prends des codes à droite à gauche puis les combine pour voir si ça fonctionne...il y à donc certainement des erreurs.
Je cherche à envoyer le même mail à tous les destinataires renseignés dans ma base. Là en l'occurrence j'en ai 47, je veux donc envoyer le même mail aux 47 personnes.

Re: Problème multi-destinataires avec PHPMailer

par Spols » 31 oct. 2016, 11:57

Que cherche tu à faire avec ton for dans le while ?

à mon avis si tu retire cette boucle for, il n'y aura plus qu'un mail par destinataire et non pas autant qu'il y a de caractère dans l'adresse mail.

Problème multi-destinataires avec PHPMailer

par olivier147 » 31 oct. 2016, 10:35

Bonjour à tous,

je suis un petit nouveau ici et je débute également le codage PHP.
Je bloque sur une problématique concernant l'envoie de mails via phpmailer.
J'ai sur une base SQL une liste d'une cinquantaine d'adresse mails.
Mon code me permet normalement de requête cette liste pour ensuite envoyer un même mail à l'ensemble des destinataires.
Le problème c'est que les destinataires ont reçu plusieurs mail alors que je n'ai effectué qu'un seul envoi...j'imagine que quelque chose cloche dans mon code mais je ne vois pas.

Pouvez vous m'aider? Merci.

Ci dessous un extrait du code
<?php

include("config2.php");

$q = mysql_query("SELECT Mail from table_sms"); 
	 	
mysql_close();  // on ferme la connexion 

?>




<?php 
// connexion à la base
include("config.php");


// on ferme la connexion à mysql
mysql_close();


require('phpmailer/class.phpmailer.php'); 
$headers = "MIME-Version: 1.0"."\r\n";
$headers .= "Content-type: text/html; charset=utf-8"."\r\n";
 
$mail = new PHPMailer();
$mail->Host = 'smtp.domaine.fr';
$mail->SMTPAuth   = false;
$mail->Port = 25; // Par défaut
$mail->CharSet = 'utf-8';
// Expéditeur
$mail->SetFrom(''.$guichet.'');

// Destinataire
while( $r=mysql_fetch_array($q) )
{
    $email = $r['Mail'];  
    for($i=0;$i<count($email);$i++){
   
   $mail->AddAddress($email);
};
}



// Objet
$mail->Subject = 'PGR DAO' ;
 
$mail->MsgHTML(''.$_POST['texte_mail'].'<br><br>'.$url.'');
 
// Envoi du mail avec gestion des erreurs
if(!$mail->Send()) {
  echo 'Erreur : ' . $mail->ErrorInfo;
} else {
	$message='Mail envoyé'; 
  echo '<script type="text/javascript">window.alert("'.$message.'");</script>'; 
 
  echo  header('Location: module_sms.php'); 
} 

?>