Récupérer la valeur de retour de mail()

humantarget -  
drantd Messages postés 102 Statut Membre -
Bonjour,

J'utilise un formulaire de contact sur ma page perso et je voudrais indiquer à l'utilisateur si le mail a bien été envoyé.

Je voulais donc savoir comment récupérer la valeur de retour de la fonction mail(). En effet, mail() renvoie "true" ou "false" indiquant si l'envoie s'est bien passé ou non.

Ayant accès à cette valeur, je pourrais afficher un message pour dire que le mail est bien parti, ou non...

Merci pour votre aide.

A bientôt

3 réponses

drantd Messages postés 102 Statut Membre 20
 
Bonjour,

if(mail('email_destinataire', 'sujet', 'message', 'entete')){
  echo "mail envoyé";
}else{
  echo "le mail n'est pas parti";
}
0
humantarget
 
Ok, merci...

Mais question : cela ne va t-il pas renvoyer le mail une nouvelle fois si je le mets comme ça dans ma page :

<?php
mail($destinataire, $sujet, $message, $headers);
if(mail($destinataire, $sujet, $message, $headers))
{
echo "mail envoyé";
}
else
{
echo "le mail n'est pas parti";
}
?>
0
drantd Messages postés 102 Statut Membre 20
 
Il ne faut pas mettre le premier mail(...), le if() est suffisant!

Ce qui donne :

<?php

if(mail($destinataire, $sujet, $message, $headers))
{
echo "mail envoyé";
}
else
{
echo "le mail n'est pas parti";
}
?>


ou alors :

<?php
$RetourMail = mail($destinataire, $sujet, $message, $headers);
if($RetourMail==true)
{
echo "mail envoyé";
}
else
{
echo "le mail n'est pas parti";
}
?>


mais pas les deux lignes ensembles sinon le mail partira 2 fois.
0