PB avec la fonction mail()
Résolu
zatox
Messages postés
640
Date d'inscription
Statut
Membre
Dernière intervention
-
Seagull29 -
Seagull29 -
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:
- PB avec la fonction mail()
- Fonction si et - Guide
- Publipostage mail - Accueil - Word
- Windows live mail - Télécharger - Mail
- [At] mail - Forum Mail
- 2 comptes instagram avec la même adresse mail - Guide
5 réponses
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:
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).
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).
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
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
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.
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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