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

Fermé
humantarget - 11 sept. 2009 à 14:23
drantd Messages postés 99 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 20 février 2012 - 13 sept. 2009 à 13:25
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 99 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 20 février 2012 20
11 sept. 2009 à 14:28
Bonjour,

if(mail('email_destinataire', 'sujet', 'message', 'entete')){
  echo "mail envoyé";
}else{
  echo "le mail n'est pas parti";
}
0
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 99 Date d'inscription vendredi 24 octobre 2008 Statut Membre Dernière intervention 20 février 2012 20
13 sept. 2009 à 13:25
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