Mail() qui n'envoie rien...

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Mail() qui n'envoie rien...

par Miam » 29 oct. 2006, 22:51

Un p'tit Résolu ?... ;)
Désolé, c'est l'euphorie du moment! :wink: :boire4:

par albat » 29 oct. 2006, 22:05

Un p'tit Résolu ?... ;)

par Miam » 29 oct. 2006, 21:58

ben tu avais raison, j'ai changé l'adresse d'envoi et j'ai mis une autre de mes adresse n'étant pas un *****@hotmail.com. Résultat ça marche... :shock: :P

Je ne sais pas pourquoi avec Hotmail cela ne fonctionne plus (étant donné que mon premier essai à fonctionné...

En tout cas, merci à tous. Image

par @rthur » 29 oct. 2006, 21:13

Mais là je viens de réessayer comme on me l'a demandé avec un code simple:

Code : Tout sélectionner

<?php if (mail("[email protected]","test", "message de test")) { echo "<h1>Votre inscription a été envoyée</h1>"; } else { echo "<h1>Une erreur s'est produite</h1>"; }
et "Votre inscription a été envoyée" s'affiche mais je ne reçois pas de mail... :shock: :shock:

Est-il possible que sur le serveur il n'yait qu'un nombre limité de mail envoyé par jour, ce qui pourrait être la raison de mon problème...???
Donc à ce niveau, le problème ne vient pas du code PHP mais soit de l'envoi côté serveur, soit de la réception.

Tout d'abord teste sur différentes e-mails (avec des fournisseurs d'email différents) comme ça ça élkiminera la possibilité d'un problème ponctuel du côté d'hotmail/yahoo ou autre fournisseur d'email.
Si tu ne reçoit aucun message sur aucune des adresses alors le problème vient de l'envoi des messages du serveur de ton ami.
Demande lui de vérifier le bon fonctionnement de son serveur mail et notamment la liste d'envoi...

par Miam » 29 oct. 2006, 19:22

Rebonjour,
wahoo rapide ce forum, autant de réponse en si peu de temps... :o :merci:

Pour ce qui est de l'envoie, mon premier essai avec le même code mais beaucoup plus simplifié à fonctionné. J'ai donc accès à la méthode mail() sur le server (mon serveur est un serveur privé d'une personne m'hébergeant gratuitement car un site à but non-lucratif... et les fonctions php sont activées) mais dès que j'ai commencé à retoucher un peu le code de base pour le modifier à mes préférences, ça n'a plus marché.

Mais là je viens de réessayer comme on me l'a demandé avec un code simple:

Code : Tout sélectionner

<?php if (mail("[email protected]","test", "message de test")) { echo "<h1>Votre inscription a été envoyée</h1>"; } else { echo "<h1>Une erreur s'est produite</h1>"; }
et "Votre inscription a été envoyée" s'affiche mais je ne reçois pas de mail... :shock: :shock:

Est-il possible que sur le serveur il n'yait qu'un nombre limité de mail envoyé par jour, ce qui pourrait être la raison de mon problème...???


@2501gigi: Je ne pense pas que le code de mon formulaire t'aidera, car c'est du pur html qui envoie vers la page contenant le code que je vous ai montré ici... Et le liens fonctionne, car sinon le "Votre inscription a été envoyée" ne s'afficherai pas.

par @rthur » 29 oct. 2006, 17:03

Bonjour,

Es-tu hébergé chez un hébergeur pro ou es-ce toi qui gère le serveur?

Dans le cas n°1, essaye avec une page toute simple:
<?php
mail("[email protected]","test", "message de test");
?>
Si cette simple page ne donne rien, essaye vers une autre adresse e-mail.
Si ça ne marche toujours pas, contact le support technique de ton hébergeur.

Dans le cas n°2, vérifie ta config et vérifie la file d'attente de ton serveur mail
Nobody's perfect, indeed !
sauf les viPHP, bien sûr 8)

par albat » 29 oct. 2006, 16:58

Nobody's perfect, indeed !
Mais ce forum aide à le devenir... ;)

par 2501gigi » 29 oct. 2006, 16:55

Ok autant pour moi. mais j'ai dis que j'en etait pas sur.
Personne n'est parfait

par albat » 29 oct. 2006, 16:28

if (mail($destinataire,$subject,$body,$headers)) { //...
Comme l'a indiqué Cyrano, ce code est parfaitement licite.
Il envoie l'e-mail et retourne un booléen indiquant si l'envoi a eu lieu.

Code équivalent :
$envoi = mail($destinataire,$subject,$body,$headers);
if ($envoi) { //... 

par Cyrano » 29 oct. 2006, 16:18

si si, ça l'envoie et selon le résultat, mail() retourne true ou false.

par 2501gigi » 29 oct. 2006, 16:16

Je dis peut etre une connerie mais la tu demande si ton mail a bien etait envoyer sans l'envoyer.

Car si je m'abuse

Code : Tout sélectionner

if (mail($destinataire,$subject,$body,$headers))
sa n'envoie pas le mail.

par 2501gigi » 29 oct. 2006, 16:11

On peut voir le code du formulaire STP.

Ca m'aiderais a me faire une idée.

Mail() qui n'envoie rien...

par Miam » 29 oct. 2006, 15:58

Bonjour,
j'ai créé un bout de code pour une page internet qui m'envoie les données d'une inscription en ligne. Mais le problème c'est qu'elle ne m'envoie rien (test sur mon compte EMail) malgré que la fonction mail() me renvoie un true pour l'envoie.
Quelqu'un peut-il m'aider? Voici mon code de la page que va chercher le formulaire.

Code : Tout sélectionner

<?php // === traitement des données du formulaire ============================================================ $nom=$HTTP_POST_VARS['Nom']; $prenom=$HTTP_POST_VARS['Prenom']; $genre=$HTTP_POST_VARS['Bouton-Sexe']; $age=$HTTP_POST_VARS['Age']; $rue=$HTTP_POST_VARS['Rue']; $NPA=$HTTP_POST_VARS['NPA']; $ville=$HTTP_POST_VARS['Ville']; $mail=$HTTP_POST_VARS['Email']; $telprive=$HTTP_POST_VARS['TelPrive']; $telprof=$HTTP_POST_VARS['TelProf']; $natel=$HTTP_POST_VARS['Natel']; $cours=$HTTP_POST_VARS['Case-Cours']; $heure=$HTTP_POST_VARS['Heure-Cours']; $remarque=$HTTP_POST_VARS['Remarque']; $objet="Nouvelle inscription"; $message= $nom." ".$prenom."\r\n".$rue."\r\n".$NPA." ".$ville ; /////version Mime $headers = "MIME-Version: 1.0\r\n"; //////mail en format text $headers .= "Content-type: text/plain; charset=iso-8859-1\r\n"; ////ici on détermine l'expediteur et l'adresse de réponse $headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP"; $subject=$objet; $destinataire="[email protected]"; $body=$message; if (mail($destinataire,$subject,$body,$headers)) { echo "<h1>Votre inscription a été envoyée</h1>"; } else { echo "<h1>Une erreur s'est produite</h1>"; } include "formulaire.htm";?>
Merci d'avance