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 :

Envoyer un e-mail à Gmail


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2009
    Messages : 85
    Par défaut Envoyer un e-mail à Gmail
    Bonsoir à tous,

    Je me prends la tête depuis hier soir pour comprendre pourquoi je ne reçois pas le mail envoyé depuis mon site internet sur Gmail .

    Pour plus de précisions, cette adresse à été créée avec google APPS pour me permettre d'avoir une adresse se finissant pas mon nom de domaine, dans mon cas xxxxx@giardiniitalia.ch.

    j'ai regardé si les mails étaient envoyés dans les courriers indésirables, mais la boîte spam est vide...

    J'ai essayé d'aller voir le lien suivant : http://php.developpez.com/faq/?page=mail

    Mais rien n'y fais, trouvez ci-dessous le code actuellement testé :

    Code php : 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
    <?php
     
       if(isset($_POST['sexe']) && isset($_POST['nom']) && isset($_POST['prenom']) && isset($_POST['adresse']) && isset($_POST['code_postal']) && isset($_POST['ville']) && isset($_POST['pays']) && isset($_POST['telephone']) && isset($_POST['adresse_mail']) && isset($_POST['commentaire']) && !empty($_POST['sexe']) && !empty($_POST['nom']) && !empty($_POST['prenom']) && !empty($_POST['adresse']) && !empty($_POST['code_postal']) && !empty($_POST['ville']) && !empty($_POST['pays']) && !empty($_POST['telephone']) && !empty($_POST['adresse_mail']) && !empty($_POST['commentaire']))// Contrôle si les variables sont bien définies et pas vides .
        {
    	$sexe =(htmlspecialchars($_POST['sexe'])); // On contrôle avec htmlspecialchars que le client ne rentre pas du code html qui pourrai être malveillant .
    	$nom = (htmlspecialchars($_POST['nom']));
    	$prenom = (htmlspecialchars($_POST['prenom']));
    	$adresse = (htmlspecialchars($_POST['adresse']));
    	$code_postal = (htmlspecialchars($_POST['code_postal']));
    	$ville = (htmlspecialchars ($_POST['ville']));
    	$pays = (htmlspecialchars ($_POST['pays']));
    	$telephone = (htmlspecialchars ($_POST['telephone']));
    	$adresse_mail = (htmlspecialchars ($_POST['adresse_mail']));
    	$commentaire = (htmlspecialchars ($_POST['commentaire']));
     
    	$destinataire = 'xxxxxxxxxx@hispeed.ch';
    	// Pour les champs $expediteur / $copie / $destinataire, séparer par une virgule s'il y a plusieurs adresses
    	$expediteur = 'xxxxx@giardiniitalia.ch';
    	$copie = 'xxxx@giardiniitalia.ch';
    	$copie_cachee = 'xxxxx@hotmail.com';
    	$objet = 'Un nouveau message provenant du site internet !'; // Objet du message
    	$headers  = 'MIME-Version: 1.0' . "\n"; // Version MIME
    	$headers .= 'Reply-To: '.$expediteur."\n"; // Mail de reponse
    	$headers .= 'From: "Site internet Giardini"<'.$expediteur.'>'."\n"; // Expediteur
    	$headers .= 'Delivered-to: '.$destinataire."\n"; // Destinataire
    	$headers .= 'Cc: '.$copie."\n"; // Copie Cc
    	$headers .= 'Bcc: '.$copie_cachee."\n\n"; // Copie cachée Bcc  
     
    	$message  = " Voici ci-dessous les coordonnées et la demande du client :\r\n " ;
    	$message .= " $sexe \n ";
    	$message .= " $nom \n ";
    	$message .= " $prenom \n ";
    	$message .= " $adresse \n ";
    	$message .= " $code_postal \n " ;
    	$message .= " $ville \n " ;
    	$message .= " $pays \n " ;
    	$message .= " $telephone \n " ;
    	$message .= " $adresse_mail \n\n " ;
    	$message .= " $commentaire " ;// Contenu du message repris des variables envoyées par le formulaire de la page contact .      
     
    $result = mail($destinataire, $objet, $message, $headers); // Envoi du message
     
    	if( $result == true )
    	if (date("H") > 7 AND date("H") < 18) //  Il fait jour , on dit bonjour . 
    	echo  "<p>Bonjour ".$sexe." ".$nom."<br/> Les données nous ont été transférées , nous prendrons contact avec vous au plus vite .</p>";
    	else // Il fait nuit , on dit bonsoir .
    	echo "<p>Bonsoir ".$sexe." ".$nom."<br/> Les données nous ont été transférées , nous prendrons contact avec vous au plus vite .</p>";
    	 // Envoi du mail .
    }
    	else // Si tout les champs ne sont pas remplis alors .... On fais aussi ce contrôle avec du Javascript sur le poste client .
    {
        echo "<p> Le message n'a pas été envoyé , une erreur est survenue <br/> ou vous n'avez pas correctement saisis tout les champs !</p>" ; 
    } 
    ?>

    Quand je test ce code en local avec wamp, il met le message d'erreur suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: mail() [function.mail]: SMTP server response: 550 5.1.1 <info@giardiniitalia.ch> relaying denied in C:\wamp\www\Giardini d'italia\traitement.php on line 53
    Tandis que si je l'essaye directement avec le site en ligne, il me marque que tout va bien et je reçois bien les données du formulaire sur mon adresse principale et sur hotmail, mais je ne reçois rien sur la boîte de google .

    Auriez-vous une idées ? Car j'avoue que je ne sais plus quoi faire ...

    Je vous remercie d'avance de votre aide et vous souhaite une excellente soirée .

  2. #2
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    d'après le message d'erreur le serveur SMTP n'accepte pas l'e-mail
    tu as bien mis le serveur SMTP de ton fournisseur d'accès

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2009
    Messages : 85
    Par défaut
    Salut, je te remercie de ton message

    Si tu parles du fichier PHP.INI, oui je l'avais modifié en conséquence .

    D'autant plus que je reçois les données du formulaire sur les autres adresses mail .

  4. #4
    Membre Expert Avatar de nosferapti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 1 157
    Par défaut
    Citation Envoyé par marc.suisse Voir le message
    Salut, je te remercie de ton message

    Si tu parles du fichier PHP.INI, oui je l'avais modifié en conséquence .

    D'autant plus que je reçois les données du formulaire sur les autres adresses mail .
    alors il faut voir avec ton fournisseur d'accès pourquoi ça ne fonctionne pas avec cette adresse e-mail

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2009
    Messages : 85
    Par défaut
    Salut, encore merci de prendre du temps à me répondre

    Par contre, je ne comprends pas très bien ta réponse, je suis d'accord avec ce que tu viens de dire pour un test en local sous wamp par exemple, mais dans le cas d'un envoi directement sur le site en ligne, ce n'est plus la même chose ...

    Sauf s'il y a quelque chose qui m'échappe .

    Edit :

    J'ai modifié un peu le code pour voir comme il se comportait et maintenant quand j'arrive sur la page traitement.php, j'ai une page blanche ...

    Je l'ai modifié pour mettre les conditions aux bons endroits, mais j'ai du faire une faute .

    Voici le code actuel :

    Code php : 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
    <?php
     
       if(isset($_POST['sexe']) && isset($_POST['nom']) && isset($_POST['prenom']) && isset($_POST['adresse']) && isset($_POST['code_postal']) && isset($_POST['ville']) && isset($_POST['pays']) && isset($_POST['telephone']) && isset($_POST['adresse_mail']) && isset($_POST['commentaire']) && !empty($_POST['sexe']) && !empty($_POST['nom']) && !empty($_POST['prenom']) && !empty($_POST['adresse']) && !empty($_POST['code_postal']) && !empty($_POST['ville']) && !empty($_POST['pays']) && !empty($_POST['telephone']) && !empty($_POST['adresse_mail']) && !empty($_POST['commentaire']))// Contrôle si les variables sont bien définies et pas vides .
    {
    	$sexe =(htmlspecialchars($_POST['sexe'])); // On contrôle avec htmlspecialchars que le client ne rentre pas du code html qui pourrai être malveillant .
    	$nom = (htmlspecialchars($_POST['nom']));
    	$prenom = (htmlspecialchars($_POST['prenom']));
    	$adresse = (htmlspecialchars($_POST['adresse']));
    	$code_postal = (htmlspecialchars($_POST['code_postal']));
    	$ville = (htmlspecialchars ($_POST['ville']));
    	$pays = (htmlspecialchars ($_POST['pays']));
    	$telephone = (htmlspecialchars ($_POST['telephone']));
    	$adresse_mail = (htmlspecialchars ($_POST['adresse_mail']));
    	$commentaire = (htmlspecialchars ($_POST['commentaire']));
    }
    	else 
    {
    	echo "<p> Le message n'a pas été envoyé , une erreur est survenue <br/> ou vous n'avez pas correctement saisis tout les champs !</p>" ;  
    }
     
    	$destinataire = 'xxxxx@hispeed.ch';
    	// Pour les champs $expediteur / $copie / $destinataire, séparer par une virgule s'il y a plusieurs adresses
    	$expediteur = 'xxxx@giardiniitalia.ch';
    	$copie = 'xxxx@giardiniitali.ch';
    	$copie_cachee = 'xxxxx@hotmail.com';
    	$objet = 'Un nouveau message provenant du site internet !'; // Objet du message
    	$headers  = 'MIME-Version: 1.0' . "\n"; // Version MIME
    	$headers .= 'Reply-To: '.$expediteur."\n"; // Mail de reponse
    	$headers .= 'From: "Site internet Giardini"<'.$expediteur.'>'."\n"; // Expediteur
    	$headers .= 'Delivered-to: '.$destinataire."\n"; // Destinataire
    	$headers .= 'Cc: '.$copie."\n"; // Copie Cc
    	$headers .= 'Bcc: '.$copie_cachee."\n\n"; // Copie cachée Bcc  
     
    	$message  = " Voici ci-dessous les coordonnées et la demande du client :\r\n " ;
    	$message .= " $sexe \n ";
    	$message .= " $nom \n ";
    	$message .= " $prenom \n ";
    	$message .= " $adresse \n ";
    	$message .= " $code_postal \n " ;
    	$message .= " $ville \n " ;
    	$message .= " $pays \n " ;
    	$message .= " $telephone \n " ;
    	$message .= " $adresse_mail \n\n " ;
    	$message .= " $commentaire " ;// Contenu du message repris des variables envoyées par le formulaire de la page contact .   
     
    	$result = mail($destinataire, $objet, $message, $headers); // Envoi du message
     
    if ($result == true) AND (date("H") > 7 OR date("H") < 18)
    {
     echo "<p>Bonjour ".$sexe." ".$nom."<br/> Les données nous ont été transférées , nous prendrons contact avec vous au plus vite .</p>"; //  Il fait jour , on dit bonjour . 
    }
    elseif ($result == true) AND (date("H") < 7 OR date("H") > 18)
    {
     echo "<p>Bonsoir ".$sexe." ".$nom."<br/> Les données nous ont été transférées , nous prendrons contact avec vous au plus vite .</p>"; //  Il fait nuit , on dit bonsoir . 
    }
    else // Si tout les champs ne sont pas remplis alors .... On fais aussi ce contrôle avec du Javascript sur le poste client .
    {
     echo "<p> Le message n'a pas été envoyé , une erreur est survenue <br/> ou vous n'avez pas correctement saisis tout les champs !</p>" ; 
    }
     
     
    ?>

  6. #6
    Futur Membre du Club
    Inscrit en
    Décembre 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 4
    Par défaut
    Bonjour,

    Avez-vous fait un test sans tout le formulaire, sans message ni rien, simplement en envoyant un mail basique avec la fonction mail() ?

    sinon si le problème est vraiment lié au serveur, une suggestion :
    remplacer smtp.xxxxxx.xxx par l'ip du serveur

    Un autre test :
    vérifier si le serveur smtp répond avec telnet
    Démarrer > Executer > cmd

    nslookup
    set type=mx
    gmail.com
    et la vous prenez un des mx que vous utilisez pour faire le telnet

    Si cela ne marche pas, c'est que le serveur n'est pas configuré en smtp...

    Bon courage !

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2009
    Messages : 85
    Par défaut
    Bonsoir à tous,

    Avez-vous une petite idée concernant mon problème ?

    Je vous remercie d'avance .

    Bonne soirée

Discussions similaires

  1. Envoyer un mail Gmail
    Par Zalawy dans le forum Langage
    Réponses: 3
    Dernier message: 10/02/2014, 09h32
  2. Liste des mails envoyés par un contacte -- gmail
    Par hoccha dans le forum Dépannage et Assistance
    Réponses: 1
    Dernier message: 04/03/2010, 16h04
  3. Liste des mails envoyés par un contact (GMail)
    Par hoccha dans le forum Internet
    Réponses: 2
    Dernier message: 30/12/2009, 10h13
  4. [VB.NET] Envoyer des e-mails !
    Par Ludog35 dans le forum Windows Forms
    Réponses: 11
    Dernier message: 26/10/2005, 16h50
  5. [JBOSS] Envoyer un e-mail
    Par webspeak dans le forum Wildfly/JBoss
    Réponses: 2
    Dernier message: 05/03/2005, 20h59

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