idczak Posté 22 Février 2009 Posté 22 Février 2009 Bonjour J'ai un formulaire de mail mais le problème c'est quand je fais un test d'envois de mail ça me met un envoie dans ma boite de réception en "nobody" je voudrais que le "nobody" soit remplacer par un texte que je pourrais y mettre (exemple le titre de mon site) le code de mon formulaire est : <?php if(isset($_POST['email'])) { $email = $_POST['email']; $sujet = $_POST['sujet']; $message = $_POST['message']; if(empty($email) || empty($message)) { echo "Vous devez remplir tout les champs"; } else { mail("mon_email","$sujet","$email \n\n $message"); echo "Message envoyé !"; } } ?>
Kioob Posté 22 Février 2009 Posté 22 Février 2009 Hello, première remarque : là ton formulaire est soumis aux injections, ton formulaire va (oui c'est une quasi certitude tellement c'est répandu) être utilisé pour spammer. Il faut empêcher la saisie de retours chariots dans le champ $sujet. Et pour ton problème, il faut ajouter un "From" dans les entêtes supplémentaires (quatrième paramètre de la fonction mail()). Par exemple : mail("mon_email","$sujet","$email \n\n $message", "From: $from\r\n"); Attention, il est lui aussi sensible aux injections, donc s'assurer qu'aucun caractère en trop ne s'y est glissé.
idczak Posté 22 Février 2009 Auteur Posté 22 Février 2009 (modifié) quand je met ton code et en faisant un test d'un envois de mail ça le met en inconnu cette fois-ci donc ça a remplacer le mot "nobody" par "inconnu" voir screen : et par contre quand j'ajoute le code en plus a la suite de &email &sujet &message j'ajoute donc ceci a la suite : $from = $_POST['email']; et quand je fais un envois de mail ça fonctionne parfaitement sauf que c'est cette fois ci dans les indésirables et je veux pas que ça soit dans les indésirables Modifié 22 Février 2009 par idczak
Kioob Posté 22 Février 2009 Posté 22 Février 2009 Tu utilisais quoi comme valeur de $from avec "mon" code ? Il faut mettre une adresse email...
idczak Posté 22 Février 2009 Auteur Posté 22 Février 2009 Tu utilisais quoi comme valeur de $from avec "mon" code ? Il faut mettre une adresse email... tu peux faire un exemple pour la valeur avec le mail ? moi j'ai utilisé "ton" code sans rien change ! (copier/coller)
Kioob Posté 22 Février 2009 Posté 22 Février 2009 Et bien je te laisserai simplement réfléchir 30 secondes
idczak Posté 23 Février 2009 Auteur Posté 23 Février 2009 Et bien je te laisserai simplement réfléchir 30 secondes $from= $_POST['mon email']; mais ça le met quand même en indésirable pas grave je vais laisse en nobody Comme ça le mail que je reçois ne se met pas dans les indésirables
Kioob Posté 23 Février 2009 Posté 23 Février 2009 Faire passer l'email comme venant de ce qui est dans le champ $_POST, ça pose divers problèmes (SPF, DomainKey, etc) ; pour de nombreux serveurs c'est considéré comme un vol d'identité.
captain_torche Posté 23 Février 2009 Posté 23 Février 2009 Kioob, que veux-tu dire par là ? La fonction d'envoi de mail n'a pas connaissance de l'origine de la variable, si ?
Kioob Posté 23 Février 2009 Posté 23 Février 2009 Par exemple si il met "From: toto_AT_daevel.fr" dans son email, l'email passera forcément en spam partout (ou presque) parce que son serveur n'a pas le droit d'envoyer d'email en les "signant" avec une adresse daevel.fr.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant