Bonjour à tous !
Bon alors, je sais que j'ai fait marré la galerie avec mon premier pbl de "mail bombing", je vais encore en faire rire d'autres avec mon second pbl : je vais détailler pour que tout le monde comprenne.
Je propose aux internautes de s'inscrire à une newsletter : à ce moment là, je leur demande pour quel type de motos ils souhaitent être informés sur l'arrivée de nouvelles annonces. Je met les adresses mail dans une table "newsletter" ainsi que l'id du type de motos qui les intéressent.
Toutes les semaines (je ne sais pas encore quel jour je ferais ça), je vais envoyer un mail au format html à ceux qui sont inscrits. Je souhaiterais qu'ils reçoivent un mail personnalisé, style lorsqu'on s'inscrit sur un site d'emploi et qu'on reçoit les offres d'emploi correspondant à notre secteur d'activité. Là ils doivent recevoir les annonces de motos uniquement pour le type de motos pour lesquelles ils se sont inscrits.
Bon, jusque là je pense que vous avez compris.
Pour cela, j'utilise (je ne sais pas si c'est la meilleure solution) la fonction mail(). Voilà un bout de code (mais c'est pas propre, no comment !!!)
//---- Connexion à la base ------------------
<?php require_once('../../Connections/motoConnexion.php');
mysql_select_db($database_motoConnexion, $motoConnexion);
//--- Là je récupère les emails, nom, prénoms et id des types de motos ---
$query_liste_news = "SELECT newsletter.idnewsletter, newsletter.email, newsletter.nom, newsletter.prenom, newsletter.idmoto, moto.nommoto FROM newsletter, motoWHERE moto.idmoto = newsletter.idmoto";
$liste_news = mysql_query($query_liste_news, $motoConnexion) or die(mysql_error());
$row_liste_news = mysql_fetch_assoc($liste_news);
$totalRows_liste_news = mysql_num_rows($liste_news);
//---- là je sais que c'est pas le bon endroit pour incrémenter mes adresses mail mais j'ai essayé ailleurs et on a vu le résultat...lol----------------
$i=0;
$email = mysql_result($liste_news, $i, "newsletter.email");
//------ là je récupère la date du jour --------------
$date = date("d/m/y");
?>
//------- là je commence ma boucle : tant que jai des adresses mails dans ma table « newsletter », jenvoie des mails ------------
<?php do { ?>
<?
//---------- je récupère le nom, le prénom du destinataire du mail ----------------
$prenom = $row_liste_news['prenom'];
$nom = $row_liste_news['nom'];
//----------- je fais un test sur lid moto --------------
// -------- si lid moto est égal à 0 alors jaffecte le texte « Toutes catégories » à la variable $categorie et je fais un select pour récupérer les annonces de toutes catégories -----------
if ($row_liste_news['idmoto']==0)
{
$categorie ="TOUTES CATEGORIES";
$query_listeannonces = sprintf("SELECT annonce.titrean, annonce.idan, annonce.prixan, legal.envoinews FROM annonce, legal WHERE annonce.datean > legal.envoinews");
}
// ---------- sinon je fais un select des annonces dont lid moto est égal à celui de la table newsletter (choix du destinataire) ------------
else
{
$categorie = $row_liste_news['nommoto'];
$idmoto = $row_liste_news['idmoto'];
$query_listeannonces = sprintf("SELECT annonce.titrean, annonce.idan, annonce.prixan, legal.envoinews FROM annonce, legal WHERE annonce.idmoto = '$idmoto'");
}
// ---------- là je récupère les résultats---------------
$listeannonces = mysql_query($query_listeannonces, $motoConnexion) or die(mysql_error());
$row_listeannonces = mysql_fetch_assoc($listeannonces);
$totalRows_listeannonces = mysql_num_rows($listeannonces);
//------------- là jindique les paramètres du mail----------------
// liste des destinataires du message
$adresse=$email;
// titre du message : zone sujet
$sujet="Les offres Motos ";
// contenu du message
$corps="
<HTML>
.
</HTML>
";
// Création de l'entête du message
// cette entete contient l'email de l'expéditeur ainsi que l'email pour la réponse.
$entete="Content-type:text/html\nFrom:contact@mondomaine.com\r\nReply-To:
contact@mondomaine.com";
// envoi du mail
mail ($adresse,$sujet,$corps,$entete);
?>
//-------- Ma boucle tant que ------------
<?php } while ($row_liste_news = mysql_fetch_assoc($liste_news)); ?>
MON PBL : là où je coince, c'est non seulement pour incrémenter les adresses mails, pour que ça envoie à chaque adresse email de ma table newsletter, mais j'aimerais (utopique ?) qu'ils aient chacun un mail personnalisé : je n'arrive pas à mettre une boucle dans le corps du mail (eh oui ! si y'a plusieurs annonces !!!). Bref, je suis dans la panade !!!
Toute aide ne sera en aucun cas superflue !!Merci !!!