Posez votre question Signaler

[php] fonction mail

widi70 562Messages postés 4 janvier 2007Date d'inscription 13 février 2012Dernière intervention - Dernière réponse le 4 sept. 2009 à 12:01
Bonjour à tous, j'ai un petit problème avec ma fonction mail, il se trouve que tout les mails que j'envoie vont dans les spam. Alors bien entendu mon cas n'est pas isolé, donc j'ai modifier mes en-entêtes de nombreuses fois mais rien, il va toujours dans les spam, donc bon...
Voici ma fonction :
$headers ='From: "RBS France"<contact@rbs.fr>'."\n";
$headers .='Reply-To: contact@rbs.fr'."\n";
$headers .='Content-Type: text/html; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';
$headers .= "X-Sender: <www.rbs-france.fr>\n";
$headers .= "X-Mailer: PHP\n";
$headers .= "X-auth-smtp-user: contact@rbs.fr \n";
$headers .= "X-abuse-contact: stop@rbs.fr";
$message ='' ==> le message est un tableau en HTML pour récapituler la commande.
mail($_SESSION['user_id'], 'Récapitulatif Commande', $message, $headers);
donc voila je voit plus trop quoi faire, comme hébergeur je suis chez OVH donc je pense pas que le problème viennent de la.
Merci de votre aide
Lire la suite 

[php] fonction mail »

6 réponses
Réponse
+1
moins plus
Voici comment j'envoie mes e-mails, ils ne tombent pas dans les spams de GMail ni de Outlook 2007 :

	$email_to = "destinataire@gmail.com";
	$subject = "Sujet du message";
	$headers = "From: \"Destinateur\"<destinateur@gmail.com>\n";
	$headers .= "Reply-To: destinateur@gmail.com\n";
	$headers .= 'Content-Type: text/html; charset="iso-8859-1"'."\n";
	$headers .= 'Content-Transfer-Encoding: 8bit';

	$message = "<html><head><title>$subject</title>";
	$message = '</head><body>';

	$message .= "<p>Bonjour,</p>";
	$message .= "<p>Ceci est un mail en HTML.</p>";
	$message .= "<p>Bien à vous,</p>";

	$message .= "<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>Moi</i></p>";
	$message .= '</body></html>';


	mail($email_to, $subject, $message, $headers);
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour

Il te manque un séparateur à la fin de la ligne $headers .='Content-Transfer-Encoding: 8bit';
Normalement, les headers sont séparés par \r\n, pas \n seul.
Il est possible que ça suffise.
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour et merci de ton aide, donc j'ai essayé avec 2 séparateurs partout mais non....
Autres idées???
Voici maintenant mes headers:
$headers ='From: "RBS France"<contact@rbs.fr>'."\r\n";
$headers .='Reply-To: contact@rbs.fr'."\r\n";
$headers .='Content-Type: text/html; charset="iso-8859-1"'."\r\n";
$headers .='Content-Transfer-Encoding: 8bit \r\n';
$headers .= 'X-Sender: <www.rbs-france.fr> \r\n';
$headers .= 'X-Mailer: PHP \r\n';
$headers .= 'X-auth-smtp-user: contact@rbs.fr \r\n';
$headers .= 'X-abuse-contact: stop@rbs.fr \r\n';


Merci d'avance
Ajouter un commentaire
Réponse
+0
moins plus
SVP un tit coup de main
Ajouter un commentaire
Réponse
+0
moins plus
D'après ce que j'ai entendu, soit c'est le header soit l'hébergeur qui fait que le mail soit lu comme étant un spam.
Je suis moi même chez OVH donc ce n'est effectivement pas l'hébergeur.
voici mon header, esseye avec celui-ci, tu ne devrait pas avoir de problème.
$headers = 'From: "'.$nom_expediteur.'" <'.$email_expediteur.'>'."\n";
	$headers .= 'Return-Path: <'.$email_reply.'>'."\n";
	$headers .= "X-Mailer: PHP/" . phpversion() . "\n" ;
	$headers .= "MIME-version: 1.0\n";
	$headers .= "Content-type: text/html; charset= iso-8859-1\n"; 
Ajouter un commentaire
Réponse
+0
moins plus
Hello,

J'ai testé la fonction mail de "scriptiz" et ça fonctionne parfaitement!
Merci!
Ajouter un commentaire
Ce document intitulé « [php] fonction mail » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook