J'aimerais envoyer envoyer un email à plusieurs utilisateurs en fonction d'une requete donnée...
J'ai une table (MAIL_BD) avec 3 colonnes :
- id auto_increment
-mail (adresse mail)
-cat (catégorie donnée)
J'aimerais envoyer un email à tous les utilisateurs d'une même catégorie... Mais ça ne fonctionne pas...
<?php
// On récupère les données depuis le formulaire de contact
$nomEmetteur = $_POST['nomEmetteur']; // on récupère le nom
$idFicheA = $_POST['idFicheA']; // on récupère l'e-mail
$dateDemandeAnomalie = $_POST['dateDemandeAnomalie']; // on récupère l'e-mail
$bd = MaBD::getInstance(); // $bd est un objet PDO
$req = $bd->query("SELECT mail FROM MAIL_BD WHERE cat = 'ANOMALIE'"); // exécuter la requete
while ($ligne = $req->fetch(PDO::FETCH_ASSOC)) // récupération de la requete sous forme de ligne pour l'exploitation
{
// example on using PHPMailer with GMAIL
include("/usr/share/php/libphp-phpmailer/class.phpmailer.php");
include("/usr/share/php/libphp-phpmailer/class.smtp.php");
$mail = new PHPMailer();
$body = "<body style=\"margin: 10px;\">
<div style=\"width: 640px; font-family: Arial, Helvetica, sans-serif; font-size: 11px;\"><br>
Bonjour,<br><br>
<strong>$nomEmetteur</strong> vient de saisir le <strong>$dateDemandeAnomalie</strong> une nouvelle fiche d'anomalie (fiche <strong>$idFicheA</strong>)<br><br>
Florian BURTE
</body>";
$mail->IsSMTP();
$mail->SMTPAuth = true; // enable SMTP authentication // sets the prefix to the servier
$mail->Host = "192.168.100.100"; // sets GMAIL as the SMTP server
$mail->Port = 25; // set the SMTP port
$mail->Username = "merah"; // GMAIL username
$mail->Password = "xxxxx"; // GMAIL password
$mail->From = "[email protected]";
$mail->FromName = "MM";
$mail->Subject = "Top Semence - Alerte Fiche Anomalie";
$mail->WordWrap = 50; // set word wrap
$mail->MsgHTML($body);
$mail->AddReplyTo("[email protected]");
$mail->AddAddress('[email protected]'); // C'est ici le probleme... Je sais pas quoi mettre pour les autres adresses en fonction de ma table MySQL (à une catégorie précisée dans la requete..)
$mail->IsHTML(true); // send as HTML
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message has been sent";
}
?>
De l'aide serait la bienvenue.Merci et bonne journée à tous.
Iutien
Modération : je me suis permet d'enlever le mot de passe de l'adresse mail