PB avec la fonction mail()

Résolu/Fermé
zatox Messages postés 640 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 26 juin 2020 - 9 avril 2009 à 01:11
 Seagull29 - 7 avril 2014 à 16:32
Bonjour, je monte un petit site sur l' espace perso de mon FAI en l'occurence neuf. L'envoi de mail par la fonction mail() ne fonctionne pas il y a une erreur du style :"Warning: mail() has been disabled for security reasons in etc..." d'après ce que j'ai pu comprendre sur internet, les fournisseurs d'accès gratuit n'activent pas cette fonction mail(). Soit, ma question est la suivante: je voudrais tester le code retour qui doit être renvoyé par cette fonction afin d'afficher un message compréhensible par un utilisateur lamda. je ne sais pas comment je dois faire ce test, quelqu'un pourrait-il m'indiquer comment tester le code retour renvoyé par la fonction mail() et si ce code peut contenir différentes valeurs, où peut-on trouver ses valeurs pour savoir quelle est la cause exacte de l'échec ?
A voir également:

5 réponses

gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 1 332
9 avril 2009 à 01:27
La cause de l'échec est simple dans ton cas : désactivé. Y'a pas à chercher plus loin.

Pour vérifier que la fonction est (dés)activée:
// "" à compléter
$to = "";
$subject = ""; 
$content = ""; 
$headers = "";
if(@mail($to, $subject, $content, $headers)===FALSE){echo "echec d'envoi";}


mail renvoie TRUE/FALSE
tu ne pourras pas déterminer quelque est la cause de l'échec, a moins que tu ne saches que mail est desactivé (configuration php.ini).
0
Marc du camas Messages postés 2 Date d'inscription samedi 13 mars 2010 Statut Membre Dernière intervention 13 mars 2010
13 mars 2010 à 19:23
Bonjour,

est-ce qu'il y a un moyen d'envoyer quand même de mails via SFR et Joomla : le SMTP ne marche pas non plus ? Il faut renoncer carrément à SFR pour Joomla, ou il y a une solution de contournement ?

En te remerciant,
Marc
0
zatox Messages postés 640 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 26 juin 2020 66
9 avril 2009 à 12:33
Bonjour, merci pour ta réponse, c'est exactement ce que je voulais faire, j'ai donc fait un test sur mon espace perso, quand j'envoie le mail, il m'affiche bien le message que j'ai positionné si @mail = false donc ça c'est bon mais le problème c'est que juste devant mon message il affiche quand même:
Warning: mail() has been disabled for security reasons in et ça j'aimerai qu'il ne l'affiche plus car pour un utilisateur lamda ce n'est pas très chouette. Est-ce que tu pourrais me dire s'il y a une solution pour ne pas afficher ce warning ? encore merci
0
gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 1 332
9 avril 2009 à 12:51
Normalement le @ devrait bloquer l'erreur. Ne pas utiliser la fonction mail ... ?
0
zatox Messages postés 640 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 26 juin 2020 66
9 avril 2009 à 13:43
Excuses moi j'avais codé comme ça:
mail($to, $objet, $texte, $from);


if(@mail($to, $objet, $texte, $from)==false)
{
echo "Problème envoi mail: veuillez réessayer plus tard";
}
else
{
echo "Mail envoyé avec succès";
}

alors quil fallait coder:

@mail($to, $objet, $texte, $from);


if(@mail($to, $objet, $texte, $from)==false)
{
echo "Problème envoi mail: veuillez réessayer plus tard";
}
else
{
echo "Mail envoyé avec succès";
}

donc utiliser la fonction @mail() à la place de la fonction mail()

OK ça marche nickel chrome, je mets le problème résolu et je te remercie pour ton aide.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Hello; j'ai le meme probleme sur mon formulaire de contact avec Web Acapella. Où faut'il faire les modif et mettre les lignes que tu a donné pour supprimer ce desagrement. Je precise que je suis sur des pages persos SFR
0