Discussion:
Urgent svp - Projet - Envoie de mail OK mais non ...
(trop ancien pour répondre)
SuperG2
2007-12-25 21:27:17 UTC
Permalink
Bonjour à tous, je vous explique mon soucis.

J'utilise la classe PHP Mailer, elle fonctionne si je fixe le ou les
destinataires avec AddAdress

J'ai ensuite créé une boucle pour envoyer à l'ensemble des inscrits (à tous
les mails sur position 'On') en Bcc ...
Or le Bcc est considéré comme du spam ...

J'ai donc refait une boucle avec le tout en AddAdress mais la je vois toutes
les personnes, PAS BIEN !

J'ai donc finalement créé un envoie de mail par personne et je boucle la
dessus.

Le problème, msn reçoit imédiatement le mail SUPER mais pas mon 2eme compte
... qui est mon compte principal.

Je seche ... J'attend une confirme de reception de mes collegues mais avec
les fetes ... ... héhé '

Quoi qu'il en soit !! Ca ne va pas !!! Mon adresse principale ne recevant
pas le mail :( :(
(Mon adresse principale a bien reçu le mail quand je fixe les AddAdress ou
meme avec la boucle en Bcc)

Pouvez vous m'aider ?

Je pense qu'il peut y avoir un pb avec ma variable $aa quoi que non ....
rmffff

Merci à ceux qui pouront m'aider ... Bonne lecture aux autres ;-) ... Et ...
Bonnes fetes :)



// Selection de la lettre par liste déroulante depuis la page du formulaire
if(isset($_POST['EnvoieNewsletter'])) {
$NumeroAutoNewsLetterFinal = $_POST['NumeroAutoNewsLetterFinal'];
$query3 = "SELECT NewsLetterFinalTitre, NewsLetterFinalCorps FROM
NEWSLETTER_FINAL WHERE
NumeroAutoNewsLetterFinal='$NumeroAutoNewsLetterFinal'";
$ReqLog = mysql_query($query3);

while ($resultat = mysql_fetch_row($ReqLog)){

$titre = $resultat[0];
$corps = $resultat[1];
}
}


// RECUPERER LES EMAILS
$sql1 = "SELECT NewsLetterMail FROM NEWSLETTER WHERE
NewsLetterReception='On'";
$req1 = mysql_query($sql1) or die(mysql_error());

// On boucle pour lire l'ensemble des lignes qui sont sur 'On' et $aa
devrait donc s'appeler dans mon cas 'NewsLetterMail' mais je ne le fais pas
pour gagner du temps.
while($row1 = mysql_fetch_array($req1)) {
$aa = $row1["0"];

// Si le mail n'est pas vide ...
if (!empty($aa)) {

$mail = new PHPMailer();
$mail->IsMail();
$mail->Host = "smtp";

$mail->SMTPAuth = false ;

$mail->From = "***@tata.fr";
$mail->FromName = "Newsletter";
$mail->AddAddress("$aa", "$aa");

$mail->AddReplyTo("***@tata.fr", "PROJET");

$mail->WordWrap = 0;
$mail->IsHTML(true);

$mail->Subject = "$titre";
$mail->Body = "$corps";
$mail->AltBody = "Votre client mail ne supporte pas le HTML. Pour consulter
la newsletter rendez vous sur : xxx";

// Fermeture du 'si email pas vide'
}



echo("$aa ENVOYE<br/>");
if(!$mail->Send())
{
echo "L'envoi à échoué . <p>";
echo "l'erreure est: " . $mail->ErrorInfo;
}



// Fermeture de la boucle while
}
davel_x
2007-12-26 11:04:10 UTC
Permalink
Post by SuperG2
Bonjour à tous, je vous explique mon soucis.
J'utilise la classe PHP Mailer, elle fonctionne si je fixe le ou les
destinataires avec AddAdress
J'ai donc refait une boucle avec le tout en AddAdress mais la je vois toutes
les personnes, PAS BIEN !
Est ce que tu as essayé de fixer la propriété $SingleTo qu'on peut
trouver sur :
http://phpmailer.codeworxtech.com/properties.html
?
Sur un cas similaire j'ai préféré faire comme toi par sécurité et parce
que je voulais gèrer la limite des 30s en rechargeant la page si besoin
mais si tu n'as pas trop d'adresses (ça doit dépendre de ton serveur) ça
peut être pratique.
Post by SuperG2
J'ai donc finalement créé un envoie de mail par personne et je boucle la
dessus.
Le problème, msn reçoit imédiatement le mail SUPER mais pas mon 2eme compte
... qui est mon compte principal.
Sans message d'erreur particulier ? Ton script t'indique bien que c'est
parti ?
Post by SuperG2
Quoi qu'il en soit !! Ca ne va pas !!! Mon adresse principale ne recevant
pas le mail :( :(
(Mon adresse principale a bien reçu le mail quand je fixe les
AddAdress ou
meme avec la boucle en Bcc)
Pouvez vous m'aider ?
Je pense qu'il peut y avoir un pb avec ma variable $aa quoi que non ....
Si tu l'affiches et qu'elle semble correcte, je ne vois pas ce qui
poserai problème, j'aurais évité les guillemets sur la récupération de
$row1, mais ptet que n=ça marche avec ta config ($row1["0"] =>
$row1[0]). J'espère que t'as fait des "echo" de vérification dans tes
boucles pour vérifier si le script passe bien par les bonnes conditions.

Sinon je remarque que tu recrées une instance de PHPMailer pour chaque
adresse, c'est pas trop utile je pense.
Et tu défini un Host SMTP alors que tu appelles isMail() la ligne
d'avant, c'est confusant :)

un truc du style serait pas mal non ?
<code>
$mail = new PHPMailer();
$mail->IsMail();
$mail->From = "***@tata.fr";
$mail->FromName = "Newsletter";
$mail->AddReplyTo("***@tata.fr", "PROJET");
$mail->WordWrap = 0;
$mail->IsHTML(true);
$mail->Subject = $titre;
$mail->Body = $corps;
$mail->AltBody = "Votre client mail ne supporte pas le HTML. Pour consulter
la newsletter rendez vous sur : xxx";

while($row1 = mysql_fetch_array($req1))
{
$aa = $row1[0];
if (!empty($aa))
{
$mail->AddAddress("$aa", "$aa");
}
echo("$aa ENVOYE<br/>");
if(!$mail->Send())
{
echo "L'envoi à échoué . <p>";
echo "l'erreure est: " . $mail->ErrorInfo;
}
$mail->ClearAddresses();
}
</code> // je sais, ça sert à rien ces balises mais bon...
--
**davel**
http://www.davel.fr/blog/
SuperG2
2007-12-26 18:21:49 UTC
Permalink
Tien, ce matin, plus de problème ..

Les mails partent ...

Ils arrivent bien ...

Mais en double sur msn ...

Une idée ?

Continuer la lecture sur narkive:
Loading...