Envoi newsletter - comment cacher les destinataires?
Forum Programmation : Envoi newsletter - comment cacher les destinataires?
Bonjour à tous,
J'utilise le code qui suit pour envoyer la newsletter de mon site aux adresses mail contenues dans ma base de données. Je voulais savoir comment transformer mon code pour que la liste des destinataires n'apparaisse plus quand les personnes reçoivent le mail.
Merci d'avance pour votre aide, voici le script d'envoi de ma newsletter :
<?php
include ("connexion.php" );
$adresses = mysql_query("SELECT email FROM newsletter" ) or die(mysql_error());
$liste_adresses = array();
while ($add = mysql_fetch_row($adresses)){
$liste_adresses[]=$add[0];
}
$to = implode(',',$liste_adresses);
unset($liste_adresses);
mysql_free_result($adresses);
$subject = 'Newsletter de *******.fr';
$headers ='From: "*******.fr"<******@****.fr>'."\n";
$headers .='Reply-To: *****@****.fr'."\n";
$headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';
$message ='<html>
Le code de ma page newsletter
</html>';
if(mail($to,$subject,$message,$headers))
{
echo 'Le message a été envoyé';
}
else
{
echo 'Le message n\'a pu être envoyé';
}
?>
fait la boucle de :
$to = implode(',',$liste_adresses);
à
} (du else)
afin d'envoyé un par un ce contenu pour chaque adresse mail et non pas de faire une liste en bcc (copie pour les destinataire) comme tu le fais actuellement.
oulala désolée je débute en php et là je vois pas du tout comment faire une boucle à l'endroit que tu demande!
si je ne me trompe pas ca devrait faire ca
Code :
|
Message édité par quarty le 05-06-2007 à 16:55:52
J'ai fait ce que tu m'a dit, mais maintenant je ne reçois plus la newsletter (malgré qu'il me dit que le message a bien été envoyé)...
en fait je l'ai bien reçue (ça a mis du temps) mais les destinataires sont toujours visibles, malgré la boucle...
j'ai peux-etre une idée
si tu as un champs id en autoincrémentation chaque personne à son propre id
essay de faire un scrit du genre
-envois message id=0
-envois message id=0+1
-envois message id=1+1
etc.....
comme ca chaque personne recoit son message, si tu n'y arrive pas je t'aiderais........... enfin après le boulot
effectivement mon champ id est bien en auto-incrémentation mais je vois pas trop comment m'y prendre d'après ce que tu me dis... donc j'accepte volontiers ton aide après le boulot
voila un truc que jai concoté
Code :
|
en théorie ca marche mais bon ce n'est que de la théorie
si ca marche pas, je verrais ca ce soir sauf si quelqu'un de plus comfirmé que moi en programation passe par la
Alors je viens d'essayer ce que tu as dit et malheureusement il y a une erreur de syntaxe dans le code :
Parse error: syntax error, unexpected '!' in ... line 14 ce qui correspond à cette ligne
while ($nb !> 0) {
Voilà je ne sais pas trop ce qu'il faut changer là je t'avouerais que je suis larguée avec ce script...
En tout cas pour moi l'heure du week end va sonner (wah la chance) mais je reviendrais lundi et je te remercie d'avance si tu as une solution à proposer d'ici là (ou quelqu'un d'autre bien sûr)
Merci de m'aider en tout cas!
ca y est la fin de journée a sonné pour moi
si tu es encore la essay de remplacer ca bout de code (include ("connexion.php" );
$nbrid = mysql_query("SELECT COUNT(*) FROM email" );
$nb = mysql_result($nbreponses, 0, 0);
while ($nb !> 0) {
$nb - 1;
$adresses = mysql_query("SELECT email FROM newsletter" ) or die(mysql_error());
$liste_adresses = array();
)
par ca:
while ($nb >= 1) {
print $nb--;
Message édité par quarty le 06-06-2007 à 17:20:49
Salut,
J'ai bien changé la partie que tu m'as dit comme tu l'as indiqué, mais j'ai toujours un message d'erreur quand j'essaie d'envoyer ma newsletter :
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in ********* line 13
Le message n'a pu être envoyé
ce qui correspond à la ligne suivante du code :
$nb = mysql_result($nbreponses, 0, 0);
au secours!!!
salut
je ne suis vraiment pas sur du tout, ca m'étonnerait meme que ca fonctionne mais teste ca (on sais jamais ^^
)
Code :
|
Petite question quand tu mets :
$nbrid = mysql_query("SELECT COUNT(*) FROM email" );
Ca ne serait pas plutot
$nbrid = mysql_query("SELECT COUNT(*) FROM newsletter" ); ?
Car ma table s'appelle newsletter et non email mais je ne sais pas si on compte dans la table ou dans le champ email...
mais en tout cas j'ai essayé ton code et ca marche toujours pas
Message édité par maudus le 12-06-2007 à 10:52:36
Pourquoi ne pas mettre la liste d'adresse en CCI ?
George W. Bush
Répondre à rodyrod
Car je n'utilise pas de logiciel de messagerie pour envoyer ma newsletter donc je ne sais pas si cette fonctionnalité existe en script et comment l'utiliser dans le code php qui me permet d'envoyer ma newsletter...
| Citation : $nbrid = mysql_query("SELECT COUNT(*) FROM email" );
|
oups je viens de remarqué que ce que j'ai fait n'était pas complet, j'éssayrais de te faire un script complet dans la journée sinon ce que j'éssayais de faire c'est ca (mais ce que j'ai fait est complétement faux dsl) ((j'en ^rpfite pour l'améliorer en meme temps)
-on récupère les id (si c'est bien de 1 à xx nombre)
-avec une boucle on envois le méssage à chaque id
j'éssay de te faire ca dans la journée et encore désolé pour ma "petite" (énorme) erreur
pas de problème ca peut arriver en tant que débutante j'en fais tt le tps des boulettes!!!
Merci pour ton aide à plus tard
| maudus a écrit : Car je n'utilise pas de logiciel de messagerie pour envoyer ma newsletter donc je ne sais pas si cette fonctionnalité existe en script et comment l'utiliser dans le code php qui me permet d'envoyer ma newsletter... |
Bien sûr que c'est possible, le mot clé s'appelle "Bcc" et il est utilisé exactement comme le "To".
Du coup je ferais un truc comme ça:
Code :
|
Message édité par rodyrod le 12-06-2007 à 11:51:48
George W. Bush
Répondre à rodyrod
Rodyrod j'ai essayé la solution que tu propose mais le problème maintenant c'est qu'il me dit bien que le message a été envoyé, mais je ne reçois plus rien!
Essaye de changer le séparateur ',' en ';' dans ton implode.
Edit: ajoute des \n aussi :
Code :
|
Message édité par rodyrod le 12-06-2007 à 14:19:51
George W. Bush
Répondre à rodyrod
pareil, le message bien envoyé mais c'est le grand vide dans ma boite mail
as-tu éssayé avec une autre adresse mail ?
pour l'instant j'ai mis dans ma base mes 3 adresses mail + celle de ma collègue et rien nulle part
Quel est ton hébergeur, ainsi que les domaines des adresses ?
George W. Bush
Répondre à rodyrod
Mon hébergeur est ovh et dans mes adresses j'ai hotmail, yahoo, et adresses professionnelles
Et avant que tu veuilles passer en copie cachée, tu réussissais à envoyer des mails aux mêmes adresses ?
George W. Bush
Répondre à rodyrod
Oui tout fonctionnait nickel avant
et avec BCC en majuscules ?
Et rechange le ";" en "," pour être certain...
Code :
|
Message édité par rodyrod le 12-06-2007 à 18:13:12
George W. Bush
Répondre à rodyrod
Ca ne fonctionne toujours pas! quelle m***e!!!
up svp
plus personne pour m'aider?
Sinon en reprenant le code de quarty, qui préconisait de lancer la méthode main pour chaque adresse.
George W. Bush
Répondre à rodyrod
je suis vraiment désolé maudus mais en ce moment je ne peux vraiment pas t'aider
tant pis je vais aller poster sur un autre forum merci quand même pour votre aide
Il y a 1903 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.
