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] php - mail()


Sujet :

Langage PHP

  1. #1
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 30
    Par défaut [Mail] php - mail()
    Bonjour,

    je viens vers vous car j'ai un léger problème d'envoi de mail sur mon site free.

    J'ai déjà un site sur ce FTP qui envoie des mail.

    j'ai voulu faire un autre site dans un autre dossier mais le problème est quand reprenant quasiment le même code, j'ai une erreur.

    Warning: mail() [function.mail]: Invalid mail. to = []

    voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $objet="Nouveau score";
    ini_set("sendmail_from","dodet.philippe@free.fr");
    for ($i=1;$i<=$data_count;$i++)
    	{
    	$data_mail = mysql_fetch_array($req_mail);
    	$message="Bonjour ".$data_mail['personne_prenom'].", \n".$data_utilisateur['personne_prenom']." a ajouté son score sur l'épreuve ".$data_utilisateur['course_libelle']." avec la ".$data_utilisateur['voiture_libelle']." avec un temps de ".$temps." \nCordialement.";
    	$destinataire=$data_mail['personne_mail'];
    	echo $destinataire;
    	mail($destinataire,$objet,$message);
    	}

    lorsque je fais des echo des variables, $destinataire, $objet et $message, je vois qu'elles sont bien remplies et donc je ne comprend pas cette erreur.
    Le script sql avant marche très bien, l'erreur vient de la fonction mail() enfin je pense...

    Merci de votre aide

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 6
    Par défaut
    je ne comprend pas si tu as une autre page qui marche avec le même script je ne vois pas pourquoi celle ci ne fonctionnerai pas . montre le code de ton autre page ;

    merci

  3. #3
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 30
    Par défaut
    dans mon autre script, l'envoi de mail ne se fait pas dans une boucle, mais simplement dans le code et le destinataire n'est pas récupéré dans la base mais est écrit en dur.

    $destinataire = "blabla@bla.fr";

    Je ne vois pas en quoi cela change.

    Dans ma base le mail est stocké en varchar (255)

    Merci

  4. #4
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Par défaut
    Salut,
    est il possible de voir d'ou viens le $data_count et ce que contient le $req_mail.

    tu fais un echo $destinataire;
    est ce que les destinataire s'affiche dans ta page d'envoi?
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  5. #5
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 30
    Par défaut
    je ne pense pas que le problème vienne de là mais voici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $sql_count = "SELECT count(personne_nom)
    					from rfactor_personne
    					where personne_id != '".$_SESSION['id']."'";
    $req_count = mysql_query($sql_count) or die('Erreur SQL !<br>'.$sql_count.'<br>'.mysql_error());
    $data_count = mysql_fetch_array($req_count);
     
    $sql_mail = "SELECT personne_nom, personne_prenom, personne_mail
    					from rfactor_personne
    					where personne_id != '".$_SESSION['id']."'";
    $req_mail = mysql_query($sql_mail) or die('Erreur SQL !<br>'.$sql_mail.'<br>'.mysql_error());
    et oui, quand je fais echo, il me balance l'adresse de la personne a qui je veux envoyé le mail

  6. #6
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 30
    Par défaut
    voici tout mon code si ca peut t'aider:

    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
    <?php
    session_start();?>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    <title>rFactor</title>
    <link href="style/style.css" rel="stylesheet" type="text/css" media="screen" />
    <?php
    $connection = mysql_connect('privé:mrgreen:', 'privé:mrgreen:', 'privé:mrgreen:'); 
    $db="'privé:mrgreen:'";
    mysql_select_db($db) or die ("pas de connection"); 
     
    	$compet=$_POST['course'];
    	$voiture=$_POST['voiture'];
    	$score=$_POST['score'];
     
    function minutes_vers_milliemes($temps){
    $minutes=substr($temps,0,strpos($temps,"\'"));
    $secondes=substr($temps,strpos($temps,"\'")+2,strpos($temps,"\'\'")-3);
    $milliemes=substr($temps,strpos($temps,"\'\'")+4);
    return ($minutes*60000)+($secondes*1000)+$milliemes;
    }
     
    	$score = minutes_vers_milliemes($score);
     
    $sql= "INSERT INTO rfactor_resultat values (null,".$_SESSION['id'].",".$compet.",".$voiture.",".$score.")";
     
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
     
     
    $sql_utilisateur = "SELECT personne_prenom, voiture_libelle, course_libelle
    					from rfactor_personne join rfactor_resultat on rfactor_personne.personne_id = rfactor_resultat.resultat_personne_id
    					join rfactor_course on rfactor_course.course_id = rfactor_resultat.resultat_course_id
    					join rfactor_voiture on rfactor_voiture.voiture_id = rfactor_resultat.resultat_voiture_id
    					where personne_id = '".$_SESSION['id']."'
    					and voiture_id = $voiture";
    $req_utilisateur = mysql_query($sql_utilisateur) or die('Erreur SQL !<br>'.$sql_utilisateur.'<br>'.mysql_error());
    $data_utilisateur = mysql_fetch_array($req_utilisateur);
     
    $sql_mail = "SELECT personne_nom, personne_prenom, personne_mail
    					from rfactor_personne
    					where personne_id != '".$_SESSION['id']."'";
    $req_mail = mysql_query($sql_mail) or die('Erreur SQL !<br>'.$sql_mail.'<br>'.mysql_error());
     
    $sql_count = "SELECT count(personne_nom)
    					from rfactor_personne
    					where personne_id != '".$_SESSION['id']."'";
    $req_count = mysql_query($sql_count) or die('Erreur SQL !<br>'.$sql_count.'<br>'.mysql_error());
    $data_count = mysql_fetch_array($req_count);
     
    $objet="Nouveau score";
    ini_set("sendmail_from","mon_mail");
    for ($i=1;$i<=$data_count;$i++)
    	{
    	$data_mail = mysql_fetch_array($req_mail);
    	$message="Bonjour ".$data_mail['personne_prenom'].", \n".$data_utilisateur['personne_prenom']." a ajouté son score sur l'épreuve ".$data_utilisateur['course_libelle']." avec la ".$data_utilisateur['voiture_libelle']." avec un temps de ".$temps." \nCordialement.";
    	$destinataire=$data_mail['personne_mail'];
    	echo $destinataire;
    	mail($destinataire,$objet,$message);
    	}
    ?>
    <SCRIPT LANGUAGE="JavaScript">  
    window.opener.location.reload();
    self.close();
    </script>

  7. #7
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 30
    Par défaut
    j'ai essayé de m'envoyer un mail avec mon adresse écrite en dur, je n'ai plus d'erreur, mais j'ai jamais reçu le mail

    Je ne comprend pas, est-ce un problème de free?

  8. #8
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 30
    Par défaut
    rectification, le script ne marche plus sur mon autre page.

    Finalement, si quelqu'un peut me pondre un script tout bete qui envoie un mail de temps en temps, je suis preneur

  9. #9
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 30
    Par défaut
    Un ami m'a dit que les mails ont quelque problèmes sur les sites free en ce moment, lui aussi a un script qui marchait et maintenant les mails ne parte plus.

    Ca ne me dit rien pour mon erreur, mais au moins ca me rassure pour mon premier script.

    Donc le problème est toujours ouvert!

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/03/2009, 20h21
  2. [Mail] PHP, mail et pièces jointes
    Par padawa dans le forum Langage
    Réponses: 1
    Dernier message: 21/07/2006, 18h28
  3. [Mail] Fonction mail php-bdd
    Par pod1978 dans le forum Langage
    Réponses: 3
    Dernier message: 31/05/2006, 18h54
  4. [Mail] Envoie mail PHP
    Par oldscrout dans le forum Langage
    Réponses: 4
    Dernier message: 29/03/2006, 15h55
  5. Réponses: 14
    Dernier message: 07/12/2005, 16h56

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