Mail() [Résolu]

Signaler
Messages postés
50
Date d'inscription
lundi 30 octobre 2006
Statut
Membre
Dernière intervention
3 décembre 2007
-
Messages postés
962
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
2 août 2010
-
Bonjour a tous;

Je crois que j'ai un bug sur ma fonction mail, j'ai fais un site heberger sur free, et je peux envoyer une newsletter aux abonnés en récuperant leur email dans ma BDD. C'est un petit site pour mon equipe de rugby et dans le message que recoivent les gars je voudrais qu'il puissent voir qui et l'emmetteur et a quel adresse répondre!!
En gros voila le bout de code correspondant qui en  theorie devrait faire ca.

while($mailList = mysql_fetch_array($query))
{
mail
(
$mailList['email'],'mail rugby,$_POST['contenu'],"From:'".$_SESSION['pseudo']."'"
);
}

En rouge, vous voyez que suivant les instructions de la fonctions mail() devrait s'afficher le pseudo du visiteur et bien que nenni!
Quelqu'un a une idée?? free qui bloque??

hello!!

5 réponses

Messages postés
962
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
2 août 2010
1
Salut,
A première vue c'est ton header qui est incorrect.
La syntaxe pour un From devrais etre du genre From: Ton Nom <ton@courriel.com> \n

bref avec un en tête dans le genre:
   $headers  = "MIME-Version: 1.0\n";
   $headers .= "Content-type: text/html; charset=iso-8859-1\n";
   $headers .= 'To: '.$mailList['email']
.' <'.$mailList['email']
.'>' . "\n";
   $headers .= 'From: '.$_SESSION['pseudo']
.' <ton@courriel.com>' . "\n";

évidement tu peux gardé seulement la ligne avec le From , mais l'important c'est la syntaxe, sans oublier le retour a la ligne.

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
Messages postés
50
Date d'inscription
lundi 30 octobre 2006
Statut
Membre
Dernière intervention
3 décembre 2007

l'apostrophe ' a sauté amprés mail lors de l'ecriture de message, mais en réalité elle y est bien dans mon script, donc ce n'est pas l'erreur.

hello!!
Messages postés
50
Date d'inscription
lundi 30 octobre 2006
Statut
Membre
Dernière intervention
3 décembre 2007

Ok, merci, je vais tester; et est ce que tu sais si je peux envoyer le mail a tous le monde d'un coup, c'est a dire pas comme la ou je fais un mail() dans la boucle while pour chaque adresse.
Merci

hello!!
Messages postés
50
Date d'inscription
lundi 30 octobre 2006
Statut
Membre
Dernière intervention
3 décembre 2007

Super, ca fonctionne maintenant, meci beaucoup, c'etait pas bien compliqué, mais ca m'a bien fais galérer.

hello!!
Messages postés
962
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
2 août 2010
1
Ouais, en séparants les destinataire par des virgules autant dans la fonction que dans les headers.

Exemple:

   $headers  = "MIME-Version: 1.0\n";
   $headers .= "Content-type: text/html; charset=iso-8859-1\n";
   $headers .= "To: alex < alex@courriel.com>, jaques <jaques@courrier.com>\n";
   $headers .= 'From: '.$_SESSION['pseudo']
.' <ton@courriel.com>' . "\n";

et ta fonction mail:
mail( "alex@courriel.com,jaques@courrier.com" ....

Note que d'après la RFC smtp les serveurs mails de devrait pas accepter plus de 100 destinataires differents pour un seul message, donc si tu as plus de 100 membres, tu vas devoir faire des intervals de 100 destinataire.

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org