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] envoi d'un mail ? [Fait]


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 91
    Points : 36
    Points
    36
    Par défaut [Mail] envoi d'un mail ?
    Bonjour tout le monde !

    petit problème avec cette fonction qui a pour but d'envoyer un mail renseigné par un formulaire
    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
     
    function envoi()
    {
    include ("config.php");
    $message="";
    if ( isset($_POST['pseu']))
    	{
    	$nom=$_POST['pseu'];
    	$messag=$_POST['comme'];
    	$mail1=$_POST['mail'];
    	if (empty ($nom))$message .="Veuillez indiquer votre nom<br>\n";
    	if (empty ($messag)) $message .="Vous n'avez pas mis de message ! <br>\n";
    	if (!ereg("^(.+)@(.+)\\.(.+)$", $mail1))$message="votre adresse e-mail ne semble pas correcte ! <br>\n";
    	if ($message=="")
    	{
    	$messag1=addslashes($messag);
    	$body="de $nom\n";
    	$body.="$messag1\n";
    	$headers = "From: $mail1\r\n";
     
    	mail($to,$subject,$body,$headers);
    	header("location:index.php?");
    	}
    	}
    }
    tout fonctionne normalement en local, mais impossible de la faire fonctionner en ligne (chez free)
    Je précise que les variable $to et $subject sont renseignées dans le fichier config.php

    Quelqu'un voit-il le hic ?

    merci

  2. #2
    Membre éprouvé

    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 634
    Points : 1 205
    Points
    1 205
    Par défaut
    Je ne connais pas free mais est-ce que le serveur mail marche? Parce que ça ne va pas comme ça sur certains serveurs...

    Doc: http://www.php.net/manual/fr/ref.mail.php

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 91
    Points : 36
    Points
    36
    Par défaut
    Salut !
    Voilà ce qu'ils disent :

    La fonction mail() fonctionne avec des quotas d'envoi (2000mails/semaine).
    A noter: Les modules ftp, imap ne sont pas installés.

  4. #4
    Membre éprouvé

    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 634
    Points : 1 205
    Points
    1 205
    Par défaut
    Désolé alors je ne peux pas t'aider plus.. Je ne vois rien de faux comme ça :o

  5. #5
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    quel message d'erreur ?

    affiches dans le corps de la page les variables utilisées en paramètre de la fonction mail afin de vérifier leurs existence... à noter que la fonction mail retourne un booléen, tu peux ainsi t'en servir pour afficher une erreur...

    header("location:index.php?");
    et ce "?" c'est normal ?

    Un ptit conseil amical, je sais qu'on peut personnaliser son code, mais quand il s'agit de le faire voir à d'autre développeurs, il serait peut-être bon de le "normaliser"...
    exemple de ton code plus clair :
    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
     
    /*
     * fonction d'envoi d'un email
     */
    function envoi() {
     
       // imports
       include ("config.php");
     
       // declarations
       $msg   = "";
       $nom   = $_POST['pseu'];
       $body  = $_POST['comme'];
       $mel   = $_POST['mail'];
       $exp   = '^(.+)@(.+)\.(.+)$';
     
       // verifications
       if( empty($nom) )       $msg .= "Veuillez indiquer votre nom<br>\n";
       if( empty($body) )      $msg .= "Vous n'avez pas mis de message ! <br>\n";
       if( !ereg($exp, $mel) ) $msg .= "votre adresse e-mail ne semble pas correcte ! <br>\n";
     
       // envoi
       if($msg == "") {
     
          // formatage
          $body    = "de $nom \n $body";
          $headers = "From: $mel\r\n";
     
          // traitement
          $envoi = mail($to,$subject,$body,$headers);
     
          // si erreur dans l'envoi
          if(!$envoi) $msg .= "Impossible d'envoyer le message !\n";
          // sinon
          else {
             header("location:index.php");
             exit();
          }
     
       }
     
       // affichage erreurs 
       echo $msg;
    }
    ;-)

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 91
    Points : 36
    Points
    36
    Par défaut
    Re salut et merci de vous pencher sur mon cas !

    J'ai mis en application vos judiscieux conseils mais j'en suis toujours au même point !

    Je n'ai aucun message d'erreur, je me retrouve avec une page vierge avec dans la barre de navigation le nom de la page qui comprend le formulaire (il y a jute un # dernière le nom de cette page).

    donc le header n'est pas actif et le message n'est pas envoyé !

  7. #7
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    et ton fichier "config.php" est bien dans le même répertoire que le fichier ou se trouve la fonction envoi() ?
    as tu affiché les variables comme je te l'ai demandé ?

    fais voir le formulaire aussi ...
    tu peux faire aussi un print_r($_POST) dans le corps de la fonction pour voir si il y a tout ce qui faut pour envoyer le mail

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 91
    Points : 36
    Points
    36
    Par défaut
    re, re, salut !

    Cherchez plus j'ai :trouve: !

    comme d'habitude pour ce genre de chose, il y avait une erreur dans le mot de passe de la base de donnée (l'ouverture de la base se fait dans le fichier config) et c'est ce qui bloquaiot le systeme !

    Mais normalement, j'aurais du avoir un message d'erreur que j'ai jamais vu, même dans les autres pages ki font appel à la base de données !

    Vais essayer d'éclaircir ce mystère !

    Mais en attendant le mail passe !
    c'est déjà bien pour ce soir !

    Merci mille fois !

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

Discussions similaires

  1. [Mail] envoi d'un mail via la fonction mail() de php
    Par Abac_Angelique dans le forum Langage
    Réponses: 1
    Dernier message: 09/02/2009, 23h46
  2. [Mail] Envoi automatique de mail & génération pdf
    Par moabomotal dans le forum Langage
    Réponses: 1
    Dernier message: 01/06/2006, 08h46
  3. [Mail] envoi automatique de mail
    Par calitom dans le forum Langage
    Réponses: 17
    Dernier message: 04/04/2006, 16h21
  4. Réponses: 13
    Dernier message: 03/12/2005, 17h09
  5. [Mail] Envoi d'un mail de test
    Par tonton54 dans le forum Langage
    Réponses: 12
    Dernier message: 22/10/2005, 15h31

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