Aller au contenu

Sujets conseillés

Posté

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é !";
}
}
?>

Posté

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é.

Posté (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 :

4865mail-inconnu.JPG

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é par idczak
Posté
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) ^^

Posté
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 ^^

Posté

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é.

Posté

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.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...