IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

mail qui n'est pas envoyé


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2009
    Messages : 11
    Points : 5
    Points
    5
    Par défaut mail qui n'est pas envoyé
    Bonjour,

    J'ai le code suivant dans une page PHP, quand je tape son
    adresse et lui passe les paramètres dans l'url, le mail n'est
    pas envoyé, quelqu'un à une idée où il faut chercher le problème ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    $mailTo = "moi@moi.moi";
    $mailFrom = $_GET['emailToVal'];
    $subject = "Contact";
    $message = $_GET['message']; 
    mail($mailTo, $subject, $message, "From: ".$mailFrom);
    ?>
    Je suis chez DreamHost, il me semble que la fonction mail est activée pourtant.

    Merci.

  2. #2
    FoxLeRenard
    Invité(e)
    Par défaut
    Premier point, controle ton GET et charges le dans une variable !
    $texte ou $ message ....
    C 'est trop dangeureux de faire ainsi.

    D'autre part si tu test en local avec easyphp ça ne marchera pas ainsi, il faut testersur ton site web !

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2009
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Salut, et merci.

    J'ai essayé ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    $mailTo = "moi@moi.moi";
    $mailFrom = $_GET['emailToVal'];
    $subject = "Contact";
    $message = $_GET['message']; 
     
    echo $_GET['emailToVal']; // S'affiche
    echo $mailFrom; // Ne s'affiche pas
     
    mail($mailTo, $subject, $message, "From: ".$mailFrom);
    ?>
    Je ne comprend pas pourquoi :/

    Et sinon je sur mon serveur, pas en local

  4. #4
    FoxLeRenard
    Invité(e)
    Par défaut
    Nous sommes bien OK les GET reçoivent des valeurs ?
    Je veux dire cette page est appelée par un lien avec des données
    Il faudrait assurer en écrivant ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <?php
     
    if (isset($_GET["emailToVal"]))  $mailFrom=trim($_GET["emailToVal"]);
          else $mailFrom="vide";
     
    if (isset($_GET["message"])) $message=trim($_GET["message"]);
        else $message="vide";
     
    $mailTo = "moi@moi.moi";
    $subject = "Contact";
     
    echo $_GET['emailToVal']; // S'affiche
    echo $mailForm; // Ne s'affiche pas
     
    mail($mailTo, $subject, $message, "From: ".$mailFrom);
    ?>

  5. #5
    FoxLeRenard
    Invité(e)
    Par défaut
    Autre point controle les formes de A et FROM
    suit mon exemple !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
       $X_A = "".$UserNom." <".$UserMail.">";
       $X_De = "From: ".$AdrWebSimpleTexte." <".$MailValidation.">";
       $Le_Objet = "Message du Forum pour test\n\n\n";
       $Le_Body = "Bonjour ce message est destine au test  \n\n";
       mail($X_A, $Le_Objet, $Le_Body, $X_De);

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2009
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Je les appelait bien via l'URL, j'ai essayé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    $mailTo = "moi@moi.moi";
    $subject = "Contact";
     
    if (isset($_GET["emailToVal"]))  $mailFrom=trim($_GET["emailToVal"]);
          else $mailFrom="vide";
     
    if (isset($_GET["message"])) $message=trim($_GET["message"]);
        else $message="vide";
     
    echo $_GET['emailToVal'];
    echo $mailFrom;
    echo $message;
    echo $_GET["message"];
     
    if(mail($mailTo, $subject, $message, "From: ".$mailFrom)) echo "Ok c'est bon.";
    Si je renseigne les données via l'URL, elles s'affichent deux fois, et si je renseigne pas, elles s'affichent une seule fois. C'est donc normal.
    De plus, la phrase "Ok c'est bon" s'affiche...
    Mais toujours pas de mail !

    Merci.

  7. #7
    FoxLeRenard
    Invité(e)
    Par défaut
    Si je renseigne les données via l'URL, elles s'affichent deux fois, et si je renseigne pas, elles s'affichent une seule fois. C'est donc normal.
    Oui bien sur car tu as la valeur "vide" qui s'affiche et l'autre y a rien dedans

    De plus, la phrase "Ok c'est bon" s'affiche...
    Mais toujours pas de mail !
    Bien sur tu n'as pas corrigé la préparation de tes variables comme mon exemple en particulier les

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2009
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Je comprend pas ce que tu veux que je fasse :$

    Mais merci beaucoup

  9. #9
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par aAajAx Voir le message
    Je comprend pas ce que tu veux que je fasse :$

    Mais merci beaucoup
    Je veux dire réécris le destinataire et expediteur comme mon exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $X_A = "".$UserNom." <".$UserMail.">";
       $X_De = "From: ".$AdrWebSimpleTexte." <".$MailValidation.">";
       $Le_Objet = "Message du Forum pour test\n\n\n";
       $Le_Body = "Bonjour ce message est destine au test  \n\n";
       mail($X_A, $Le_Objet, $Le_Body, $X_De);

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2009
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Je comprend vraiment plus rien, j'ai essayé une chose simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    $X_A = "Moi <moi@moi.moi>";
    $X_De = "From: Toi <toi@toi.toi>";
    $Le_Objet = "Contact";
    $Le_Body = "Voici le message";
    mail($X_A, $Le_Objet, $Le_Body, $X_De);
    ?>
    Mais même là, je ne reçoit aucun mail.

    :/

  11. #11
    Membre éprouvé Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Points : 948
    Points
    948
    Par défaut
    Salut ! Que se passe t-il ? Un page blanche? Une erreur ?

    En faisant juste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if(mail($X_A, $Le_Objet, $Le_Body, $X_De))
    {
     echo 'bien envoyé';
    }
    else{
      echo 'non envoyé';
    }
    ►Ne pas oublier le

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2009
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    "Bien envoyé", mais je n'ai rien dans ma boîte mail

    Merci.

  13. #13
    Membre éprouvé Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Points : 948
    Points
    948
    Par défaut
    Ha ouais d'accord Oo c'est pas une boite gmail ou tu envoie? Parce que gmail aime bien bloquer des mails parfois^^
    ►Ne pas oublier le

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2009
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Si, c'est gmail, mais ya rien dans les spams non plus !

  15. #15
    Membre éprouvé Avatar de obito
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2008
    Messages : 773
    Points : 948
    Points
    948
    Par défaut
    Avec gmail j'ai déjà perdu des mails que j'ai même jamais vu dans les spam^^ essaie déjà une autre adresse pour voir, une hotmail ou une laposte par exemple ^^
    ►Ne pas oublier le

  16. #16
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2009
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Ok j'essaie ça, merci

  17. #17
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2009
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Bon, ça veut toujours pas marcher, je pense que c'est DreamHost qui foire, je vais essayer sur un autre serveur.

  18. #18
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Février 2009
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Ok, en fait, j'essayais sur le serveur OVH depuis tout à l'heure, et ça voulait pas marcher. Le serveur Dreamhost par contre me l'envoi parfaitement :o

    C'est donc réglé je pense, merci

  19. #19
    FoxLeRenard
    Invité(e)
    Par défaut
    Super !!
    Mais de toute façon au passage tu as appris plein de trucs alors pas de regrets pour le temps passé

  20. #20
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 221
    Points : 104
    Points
    104
    Par défaut
    J'ai eu le même problème. J'ai réalise un formulaire qui doit envoyer les résultats dans ma boite gmail.
    Après beaucoup de changements, d'erreurs et de manips, ca fonctionne bien.
    Je te joins le code que j'utilise et qui marche.
    En espérant que ça t'aide :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    <?php
     
    	/*
    		********************************************************************************************
    		CONFIGURATION
    		********************************************************************************************
    	*/
    	// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
    	$destinataire = 'ton_adresse@gmail.com';
     
    	// copie =si jamais tu veux que ton user recoivent un mail (c'ets pas complet encore)
    	$copie = 'oui'; // 'oui' ou 'non'
     
    	// Messages de confirmation du mail
    	$message_envoye = "Votre message a bien été envoyé ! ";
    	$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
     
    	// Messages d'erreur du formulaire
    	$message_erreur_formulaire = "Vous devez d'abord <a href=\"contact.html\">envoyer le formulaire</a>.";
    	$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
     
     
     
    	/*
    		********************************************************************************************
    		FIN DE LA CONFIGURATION
    		********************************************************************************************
    	*/
     
    	// on teste si le formulaire a été soumis
    	if (!isset($_POST['envoi']))
    	{
    		// formulaire non envoyé
    		echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
    	}
    	else
    	{
    		/*
    		 * cette fonction sert à nettoyer et enregistrer un texte
    		 */
    		function Rec($text)
    		{
    			$text = trim($text); // delete white spaces after & before text
    			if (1 === get_magic_quotes_gpc())
    			{
    				$stripslashes = create_function('$txt', 'return stripslashes($txt);');
    			}
    			else
    			{
    				$stripslashes = create_function('$txt', 'return $txt;');
    			}
     
    			// magic quotes ?
    			$text = $stripslashes($text);
    			$text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
    			$text = nl2br($text);
    			return $text;
    		};
     
    		/*
    		 * Cette fonction sert à vérifier la syntaxe d'un email
    		 */
    		function IsEmail($email)
    		{
    			$pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
    			return (eregi($pattern,$email)) ? true : false;
    		};
     
    		// formulaire envoyé, on récupère tous les champs.
    		$nom     = (isset($_POST['nom']))     ? Rec($_POST['nom'])     : '';
    		$prenom     = (isset($_POST['prenom']))     ? Rec($_POST['prenom'])     : '';
    		$email   = (isset($_POST['email']))   ? Rec($_POST['email'])   : '';
    		$tel   = (isset($_POST['tel']))   ? Rec($_POST['tel'])   : '';
    		$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
     
    		// On va vérifier les variables et l'email ...
    		$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
     
    		if (($nom != '') && ($prenom != '') && ($email != '') && ($tel != '') && ($message != ''))
    		{
    			// les 5 variables sont remplies, on génère puis envoie le mail
    			$headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";
    			$subject = "Formulaire mon_site";
    			$message = "Message de : $nom $prenom \nEmail : $email \nTel : $tel \nMessage: $message";
     
     
     
     
    			// envoyer une copie au visiteur ?
    			if ($copie == 'oui')
    			{
    				$cible = $destinataire.','.$email;
    			}
    			else
    			{
    				$cible = $destinataire;
    			};
     
    			// Remplacement de certains caractères spéciaux
    			$message = str_replace("'","'",$message);
    			$message = str_replace("’","'",$message);
    			$message = str_replace("&quot;",'"',$message);
    			$message = str_replace('<br>','',$message);
    			$message = str_replace('<br />','',$message);
    			$message = str_replace("&lt;","<",$message);
    			$message = str_replace("&gt;",">",$message);
    			$message = str_replace("&amp;","&",$message);
     
    			// Envoi du mail
    			if (mail($cible, $subject, $message, $headers))
    			{
     
    				echo '<p>'.$message_envoye.'</p>'."\n";
     
     
     
    			}
    			else
    			{
    				echo '<p>'.$message_non_envoye.'</p>'."\n";
    			};
    		}
    		else
    		{
    			// une des 3 variables (ou plus) est vide ...
    			echo '<p>'.$message_formulaire_invalide.' <a href="contact.html">Retour au formulaire</a></p>'."\n";
    		};
    	}; // fin du if (!isset($_POST['envoi']))
     
     
    ?>
    Essaye de comprendre. Tout le code n'est pas nécessaire pour recevoir le mail dans la boite, mais j'ai rajouté des options que je trouvais utile dans mon cas.
    Dans tous les cas, il fonctionne très bien chez moi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Formulaire de contact, e-mail n'est pas envoyé
    Par JonathanLeplang dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 9
    Dernier message: 19/04/2015, 19h42
  2. Réponses: 0
    Dernier message: 23/03/2013, 10h10
  3. Réponses: 0
    Dernier message: 07/10/2012, 19h36
  4. [Mail] envoyer un mail qui n'est pas anonyme
    Par mzt.insat dans le forum Langage
    Réponses: 21
    Dernier message: 10/12/2005, 09h16
  5. [VB6] générer un recordset qui n'est pas lier à un bdd
    Par damyrid dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 05/06/2003, 17h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo