D'abord, désolé pour mon anglais :) J'ai un problème avec phpmailer. Je veux envoyer des emails à plusieurs personnes avec un attachement dédié à eux (pdf). L'adresse email doit être téléchargée depuis MySQL. Mais je ne sais pas comment je peux le faire. Le fichier PDF a le même nom que la colonne "nom" dans la table base de données. Par exemple j'ai:PHPMailer - envoi d'emails avec pièces jointes à plus d'une personne et adresse e-mail téléchargée à partir de MySql
- Nom d'utilisateur: XXX
- nom PDF (de ftp): XXX.pdf
- email: [email protected]
c'est un exemple, J'ai beaucoup d'utilisateurs avec beaucoup de fichiers PDF.
Simplifier ce que je veux: l'utilisateur XXX doit recevoir un e-mail avec XXX.pdf mais l'utilisateur YYY doit recevoir un e-mail avec YYY.pdf.
Je ne sais pas si vous comprenez ce que je veux dire :)
En ce moment j'ai quelque chose comme ça et je ne sais pas comment attribuer un nom au courrier électronique (dynamiquement?) Dans la requête
$stmt = $dbh->prepare('SELECT id, name, email FROM users WHERE name ="SomeUserName" ');
// how to assign name to email??
$stmt->execute();
$mail = new PHPMailer(); // defaults to using php "mail()"
$mail->CharSet = 'UTF-8';
$body = 'SOME TEXT IN BODY';
$mail->AddReplyTo("[email protected]","First Last");
$mail->SetFrom('[email protected]', '[email protected]');
while($row=$stmt->fetch(PDO::FETCH_ASSOC))
{
$mail->addAttachment("pdf/07.2017/".str_replace('.','_',$row['name']).".pdf");
$address = $row["email"];
}
$mail->AddAddress($address, "SOME TEXT");
$mail->Subject = "SOME SUBJECT";
$mail->MsgHTML($body);
if(!$mail->Send()) {
echo 'send';
} else {
echo 'didnt send';
}
Regardez l'exemple de liste de diffusion fourni avec PHPMailer. – Synchro