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] implémenter un mail()


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 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2007
    Messages : 81
    Par défaut [Mail] implémenter un mail()
    Bonjour,

    je suis loin d'être une bête en php, à part faire des choses simples. Donc je vous explique ce que j'aimerais faire :

    dans un code, je voudrais ajouter un petit lien texte du genre "envoyer un mail au groupe" où quand on clique dessus, ça envoi un mail à plusieurs destinataire un message avec un un objet et un message court du genre "de nouveaux fichiers on été rajouté !"

    je crois qu'il faut utiliser la fonction mail("destinaire","objet","message",...) mais je n'arrive pas à l'implémenter dans le code.

    voilà le code (qui n'est pas de moi !) dans lequel j'aimerai ajouter ce lien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function makeFooter() {
    	return "<div id=\"footer\"><p><a href=\"http://www.solitude.dk/filethingie/documentation.php\">".t('Online documentation')."</a> &bull; <a href='http://www.solitude.dk/filethingie/download.php' id=\"versioncheck\">".t('Check for new version')."</a></p><div id='versioninfo'></div></div>";
    }

    merci d'avance !

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    Tout d'abord, il faut que l'on en sache plus si tu veux qu'on t'aide.

    En premier lieu, comment sont gérés tes groupes d'utilisateurs en base de données? Dans quelle page le lien pour envoyer le mail doit il apparaitre? PLus généralement, nous donner plus d'informations sur le contexte de ton application.

    Sinon pour envoyer un mail, je recommande toujours le tutoriel de Stéphane Eyskens fondé sur la class phpmailer. Tu verras dedans comment envoyer très facilement un mail.

    Apparement, selon ce que l'on a le code devrait ressembler a ceci:

    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
    require "repertoire_phpmailer/class.phpmailer.php";
    $requete="select * from membres where groupe='".$id_groupe_pour_message."'";
    $exe=mysql_query($requete);
    while($liste_users=mysql_fetch_assoc($exe)){
       $mail_dest=$liste_users['email'];
       //envoie du mail
     
    	$mail = new PHPmailer();
    	$mail->From='votre@adresse';
    	$mail->AddAddress($mail_dest);
    	$mail->AddReplyTo('votre@adresse');	
    	$mail->Subject='Exemple de mail';
    	$mail->Body='Voici un exemple d\'e-mail au format Texte';
    	if(!$mail->Send()){ //Teste le return code de la fonction
    	  echo $mail->ErrorInfo; //Affiche le message d'erreur (ATTENTION:voir section 7)
    	}
    	else{	  
    	  echo 'Mail envoyé avec succès';
    	}
     
    	unset($mail);
    }

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2007
    Messages : 81
    Par défaut
    ok, merci de m'aider
    mais je pense (peut etre a tord !) que je demande qqchose de beaucoup "plus simple".

    donc j'explique :

    j'ai une page d'upload / download que je me sers avec mon groupe de musique, c'est une seule page php faite par un mec et qui la propose en téléchargement.

    Le contexte est qu'à chaque fois que l'un des membres de mon groupe rajoute une idée de composition etc, au lieu d'ouvrir sa messagerie et d'envoyer un mail en disant qu'il y a un nouveau truc sur notre page, il aurait été plus sympa de cliquer sur un lien qui s'affiche dans le bas de page (la partie du code que j'ai mis sur mon premier post) pour qu'un mail type parte aux membres de mon groupe.

    Donc cela sera toujours les meme destinataire (tant pis pour celui qui envoi lui aussi recevra le mail), le meme sujet etc...

    En espérant que mon explication est plus claire

    je vous remercie par avance

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    Okay dans ce cas, tu peux faire ceci:

    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
    //Insérer ce code une fois l'upload terminé
    //liste des membres du groupe
    $groupe=array();
    $membre1[nom]='nom';
    $membre1[email]='sonemail@email.com';
    $membre2[nom]='autre nom';
    $membre2[email]='autreemail@email.com';
    $groupe['membre'][]=$membre1;
    $groupe['membre'][]=$membre2;
    //appel de phpmailer
    require "repertoire_phpmailer/class.phpmailer.php";
     
    foreach($groupe as $membre){
     
       //envoie du mail
     
    	$mail = new PHPmailer();
    	$mail->From='adresse_emetteur@tonsite.com';
    	$mail->AddAddress($membre[email]);
    	$mail->AddReplyTo('adresse_emetteur@tonsite.com');	
    	$mail->Subject='Exemple de mail';
    	$mail->Body='Voici un exemple d\'e-mail au format Texte';
    	if(!$mail->Send()){ //Teste le return code de la fonction
    	  echo $mail->ErrorInfo; //Affiche le message d'erreur (ATTENTION:voir section 7)
    	}
    	else{	  
    	  echo 'Mail envoyé avec succès';
    	}
     
    	unset($mail);
    }
    Dans la variable tableau $groupe, on stocke les emails et nom des membres du groupe. Ensuite on parcourt ce tableau et pour chaque email, on envoie un message de test.
    adresse_emetteur@tonsite.com correspond à l'adresse qui émet le message et à laquelle on répondra en cliquant sur répondre dans le client mail.

    Vraisemblablement, ce code se placera juste après la gestion de ton upload pour qu'à chaque fichier envoyé, un message soit joint.

    Si tu préfère le faire dans un lien, tu pourrais faire un lien ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="page.php?op=sendmail">Envoyer aux membres du groupe</a>
    et rajouter le code de l'envoi de mail ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if($_GET['op']=="sendmail"){
    //insérer ici le code ci-dessus
    }

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2007
    Messages : 81
    Par défaut
    ok merci, bon j'ai donc opté pour le lien

    sauf que j'ai du remplacé (ajout de \ autours du lien) par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href=\"index.php?op=sendmail\">Envoyer aux membres du groupe</a>
    car sinon ça marchait pas (au passage, pourquoi fallait il faire ça ?)

    j'ai copié ensuite ç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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
     
    if($_GET['op']=="sendmail"){
    $groupe=array();
    $membre1[nom]='remi';
    $membre1[email]='contact@remsrock.com';
     
    $groupe['membre'][]=$membre1;
     
    //appel de phpmailer
    require "phpmailer/class.phpmailer.php";
     
     
     
    foreach($groupe as $membre){
     
       //envoie du mail
     
    	$mail = new PHPmailer();
    	$mail->From='contact@remsrock.com';
    	$mail->AddAddress($membre[email]);
    	$mail->AddReplyTo('contact@remsrock.com');	
    	$mail->Subject='Exemple de mail';
    	$mail->Body='Voici un exemple d\'e-mail au format Texte';
    	$mail->SetLanguage('en','phpmailer/language/');
    	if(!$mail->Send()){ //Teste le return code de la fonction
    	  echo $mail->ErrorInfo; //Affiche le message d'erreur (ATTENTION:voir section 7)
    	}
    	else{	  
    	  echo 'Mail envoyé avec succès';
    	}
     
    	unset($mail);
    	}
    }
    et quand je clique sur le lien, il me dit :
    Could not instantiate mail function.

  6. #6
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732

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

Discussions similaires

  1. [Mail] Transferer un mail en PHP.
    Par tissot dans le forum Langage
    Réponses: 2
    Dernier message: 04/10/2005, 19h23
  2. [serveur de mail] Partager des mails sur un réseau
    Par FFF dans le forum Serveurs (Apache, IIS,...)
    Réponses: 1
    Dernier message: 03/10/2005, 12h39
  3. [Mail] Détection de mail
    Par JeanMi66 dans le forum Langage
    Réponses: 3
    Dernier message: 08/09/2005, 00h07
  4. [Mail] Envoi de mail en Plain Text
    Par Boeing dans le forum Langage
    Réponses: 4
    Dernier message: 06/09/2005, 18h07
  5. [Mail] dispatching de mail ??
    Par sami_c dans le forum Langage
    Réponses: 6
    Dernier message: 28/03/2005, 11h53

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