PB avec la fonction mail()

Résolu
zatox Messages postés 640 Date d'inscription   Statut Membre Dernière intervention   -  
 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:

5 réponses

gryzzly Messages postés 4608 Date d'inscription   Statut Contributeur Dernière intervention   1 335
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   66
 
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   Statut Contributeur Dernière intervention   1 335
 
Normalement le @ devrait bloquer l'erreur. Ne pas utiliser la fonction mail ... ?
0
zatox Messages postés 640 Date d'inscription   Statut Membre Dernière intervention   66
 
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
Seagull29
 
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