Envoi d'un mail vers plusieurs destinataires
Melvyn07
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
Melooo Messages postés 1405 Date d'inscription Statut Membre Dernière intervention -
Melooo Messages postés 1405 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous
Alors voilà, comme expliqué dans mon titre, j'essaye de faire en sorte de pouvoir envoyer des mails à plusieurs destinataires en même temps. J'utilise pour ça un jquery de "multiselect" qui permet à l'utilisateur de sélectionner les adresses auxquelles il désire envoyer ce mail.
Voilà mon premier php qui me permet de faire ça (Sachant que mes include sont plus haut dans le programme):
Après ça je vais vers un formulaire qui affiche la liste des destinataires sélectionnés et donne à l'utilisateur la possibilité de faire son mail avec les champs sujet et message.
Donc jusque là pas de soucis à mon avis, mes echo avec plusieurs destinataires me renvoient bien ce qu'il faut :
- ennobijo_273@yopmail.com
- ujiffullu_435@yopmail.com
'ennobijo_273@yopmail.com', 'ujiffullu_435@yopmail.com'
La 3eme ligne était plus là pour vérifier directement mes codes :D
Ensuite viens le code d'envois du mail :
Donc voilà le fameux code. Quoi que je fasse il me renvois toujours un truc du genre :
FALSE
contact@agence-kangen.fr
test mail - sujet
test mail - message
'ennobijo_273@yopmail.com', 'ujiffullu_435@yopmail.com'
Donc voilà j'en viens à ma question, comment faire pour que mon mail parte ? J'ai eu beau chercher je ne vois vraiment pas ce qui coince.
Merci d'avance
Melvyn
Alors voilà, comme expliqué dans mon titre, j'essaye de faire en sorte de pouvoir envoyer des mails à plusieurs destinataires en même temps. J'utilise pour ça un jquery de "multiselect" qui permet à l'utilisateur de sélectionner les adresses auxquelles il désire envoyer ce mail.
Voilà mon premier php qui me permet de faire ça (Sachant que mes include sont plus haut dans le programme):
<?php $requete2 = "SELECT email_prospect FROM prospects WHERE code_client=".$lecodeclient." AND email_prospect != '' "; $reponse2 = mysql_query($requete2) or die(mysql_error()); echo' <p> Veuillez choisir les destinataires : </p><br/><br/> <form action="selectadresses.php" method="POST"> <center><select id="prospects" class="multiselect" multiple="multiple" name="prospects[]">'; while ($donnees = mysql_fetch_array($reponse2)) { echo'<option value='.$donnees['email_prospect'].'>'.$donnees['email_prospect'].'</option>'; } echo'</select></br> <input type="submit" value="Sélectionner les destinataires"/> </center></form>'; ?>
Après ça je vais vers un formulaire qui affiche la liste des destinataires sélectionnés et donne à l'utilisateur la possibilité de faire son mail avec les champs sujet et message.
<?php session_start(); ?> <form name='form1' method='post' action='email.php'> <table border='0'> <tr> <td align='left'> À </td> <td align='left' size='79'> <?php $to = ''; if(isset($_POST['prospects']) AND is_array($_POST['prospects'])) { foreach($_POST['prospects'] AS $prosp) { echo ' - '.($prosp) . '<br/>'; $to .= '\'' . $prosp . '\', '; } $to = rtrim($to, ', '); $_SESSION["to"] = $to; } echo $to; ?> </td> </tr> <tr> <td align='left'> Sujet </td> <td align='left'><input name='sujet' type='text' id='sujet2' size='79'></td> </tr> <tr> <td>Message </td> <td><textarea name='message' cols='60' rows='8'></textarea></td> </tr> <tr> <td> </td> <td><input type='submit' name='Submit' value='Envoyer'> <input type='reset' name='Submit2' value='Rétablir'> </td> </tr> </table> <p> </p> </form>
Donc jusque là pas de soucis à mon avis, mes echo avec plusieurs destinataires me renvoient bien ce qu'il faut :
- ennobijo_273@yopmail.com
- ujiffullu_435@yopmail.com
'ennobijo_273@yopmail.com', 'ujiffullu_435@yopmail.com'
La 3eme ligne était plus là pour vérifier directement mes codes :D
Ensuite viens le code d'envois du mail :
<?php session_start(); include ("../code_client.php"); $requete = "SELECT email_client FROM clients WHERE code_client=".$lecodeclient.""; $reponse = mysql_query($requete) or die(mysql_error()); $donnees = mysql_fetch_array($reponse); $Mail=$donnees['email_client']; $object = $_POST['sujet']; $msg = $_POST['message']; $to = $_SESSION["to"]; $mailheaders = "From:".$Mail."\n"; $mailheaders .= "To:".$to."\n"; $mailheaders .= "Cci:\n"; $mailheaders .= "Reply-To: No reply <>\n\n"; mail($to, $object, $msg, $mailheaders); if(mail($to, $object, $msg, $mailheaders)){echo "TRUE <br/> $Mail <br/> $object <br/> $msg <br/> $to";} else{echo "FALSE <br/> $Mail <br/> $object <br/> $msg <br/> $to";} ?>
Donc voilà le fameux code. Quoi que je fasse il me renvois toujours un truc du genre :
FALSE
contact@agence-kangen.fr
test mail - sujet
test mail - message
'ennobijo_273@yopmail.com', 'ujiffullu_435@yopmail.com'
Donc voilà j'en viens à ma question, comment faire pour que mon mail parte ? J'ai eu beau chercher je ne vois vraiment pas ce qui coince.
Merci d'avance
Melvyn
A voir également:
- Envoi d'un mail vers plusieurs destinataires
- Comment envoyer un mail à plusieurs destinataires sur gmail - Guide
- Programmer envoi mail gmail - Guide
- Envoyer un sms groupé sans que les destinataires apparaissent ✓ - Forum Nokia
- Envoi mail cci - Guide
- Windows live mail - Télécharger - Mail
4 réponses
bonjour,
Voici un code que j'avais fais !
Mettre tout le code dans une seule page,
Il faut simplement que tu modifies les adresse et nom du site et la requête sql pour la récupération des informations.
Si résolu, n'oublie pas de cliquer !
Voici un code que j'avais fais !
Mettre tout le code dans une seule page,
Il faut simplement que tu modifies les adresse et nom du site et la requête sql pour la récupération des informations.
<?php $email_dest = "adresse_de_ton_site@yahoo.fr"; // adresse mail de l'association pour en avoir une copie foreach($_POST['destinataire'] as $key=>$dest) if (trim($dest) === '') unset($_POST['destinataire'][$key]); $bcc = implode(', ', $_POST['destinataire']);// condition de recupereration des emails if ($_POST['envoi']) { // E-mail headers: $headers ="MIME-Version: 1.0 \n"; $headers .="From: Nom de ton site <adresse_de_ton_site@yahoo.fr>\n"; $headers .="Content-Type: text/html; charset=iso-8859-15 \n"; $headers .= "BCC:".$bcc."\r\n"; // envois en copie cache pour ne pas divulguer les emails $subject = $_POST['champ1']; $partie_entete = "<html><head> <meta http-equiv=Content-Type content=text/html; charset=iso-8859-15> <style type=\"text/css\"> body {width: 930px;margin-left:5%;margin-right:5%;} #en_tete {width: 100%;height: 100px;margin-bottom: 20px;margin-top:20px;margin-left:5px;margin-right:5px;background-color:#000000; text-align border: 1px solid #FFFFFF; } #corps { width: 100%; text-align:left; margin-bottom: 5px; margin-left 10px; padding: 11px; background-color: #FFF; background-image:none; border: 2px solid #FF0000; } #titre{ bottom: 10px; width: 100%; line-height:20px; vertical-align:middle; padding: 0px; margin-left:5px; margin-right:5px; text-align: center; color : #3333cc; font-family : \"Comic Sans MS\", Arial; font-style : italic; font-size : 17px; font-weight : bold; font-variant: small-caps; } #pied { bottom: 20px; width: 100%; line-height:20px; vertical-align:middle; padding: 0px; margin-left:5px; margin-right:5px; text-align: center; background-color: #0000CC; border: 1px solid #FF0000; font-family : \"Courier New\", Arial; font-style : italic; font-size : 12px; font-weight : bold; color : #999999; } </style> </head> <body><div id=\"en_tete\"><img src=\"http://static.ccm2.net/www.commentcamarche.net/_skin/_local/img/logo.png\" alt=\"titre\" /> </div><div id=\"corps\"> <br /><div id=\"titre\">".$subject."</div><br />"; if ($_POST['nbre_zones_texte'] != 0) { $partie_zone_texte = "<font face='comic sans MS' size='3' color='#3333CC'>" . nl2br($_POST['zone_texte']) . "</font><br />"; $partie_zone_texte = stripslashes($partie_zone_texte); } $fin = "<br /><br /><hr /><font face='comic sans MS' size='3' color='#CC3333'>NOM DE TON SITE <a href=\"https://www.google.fr/?gws_rd=ssl\">le site (son nom) !</a> </font> <br /> Si vous recevez ce mail et qu'il ne vous ait pas destiné, le signaler en répondant à ce mail et le supprimer. </div><div id=\"pied\">JSP_BO 2009 Reproduction Interdite</div></body></html>"; $sortie = $partie_entete . $partie_zone_texte . $fin; // Send the e-mail if (@!mail($email_dest,$subject,$sortie,$headers)) { echo "Envoi du formulaire impossible"; } else { // Closing if !mail... // Renvoi vers la page de confirmation ou message d'information echo '<div>- Le message à bien été envoyé aux destinataires cochés.</div>' ; } // Fin du else } // Closing if edit ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Envoie du mail</title> </head> <body> <h1>Envoyer un mail</h1> <form name="mail_form" method="post" action="#" onsubmit="return verifSelection()"> <table width="624" border="0" align="center"> <tr> <td width="135" valign="top" class="Style15">Destinataire(s), cocher les cases.</td> <td width="479"><div align="left"> <ul> <fieldset><legend>Liste des membres</legend> <?php // ICI TA REQUETTE SQL POUR RECUPERER LA LISTE DES MEMBRE : LOGIN + ADRESSE MAIL // DANS CE CODE: $recup_data['mail'] CONTIENT L'ADRESSE MAIL // $recup_data['login'] CONTIENT LE NOM DE L'UTILISATEUR // JE ME CONNCETE A LA BDD require 'require/bdd.php' ; $reponse = mysql_query('SELECT * FROM membre '); while ($recup_data = mysql_fetch_array($reponse) ) { echo ' <li> <input type="checkbox" name="destinataire[]" value="' . $recup_data['mail']. '"/> ' . $recup_data['login'] . '</li> '; } ?> </ul> </div></td> </tr> <tr> <td><font size="2" face="Verdana" class="Style15">Objet</font></td> <td><input name="champ1" type="text" size="60" /></td> </tr><tr> <td valign="top"><font size="2" face="Verdana" class="Style15">Message</font></td> <td><textarea name="zone_texte" cols="50" rows="10"></textarea></td> </tr><tr> <td valign="top"><input name="nbre_champs_texte" type="hidden" id="nbre_champs_texte" value="1" /> <input name="nbre_zones_texte" type="hidden" value="1" /> <input name="nbre_zone_email" type="hidden" value="0" /> <input name="titre_champ1" type="hidden" value="Objet" /> <input name="titre_zone" type="hidden" value="Message" /></td> <td><div align="center"> <p>Une fois après avoir cliqué, le message sera envoyer aux destinataires cochés.</p> <input name="envoi" type="submit" value="Envoyer" /> <input name="Reset" type="reset" value="Effacer" /> </div></td> </tr> </table> </form>
Si résolu, n'oublie pas de cliquer !
Salut,
tu dois spécifier en quoi tu veux envoyer tes mails (texte, html...) donc ajouter ses lignes :
et entre tes adresses mails, tu as quoi ? une virgule ? (il me semble qu'il faut un point virgule)
tu dois spécifier en quoi tu veux envoyer tes mails (texte, html...) donc ajouter ses lignes :
$mailheaders .='Content-Type: text/html; charset="iso-8859-1"'."\n"; $mailheaders .='Content-Transfer-Encoding: 8bit';
et entre tes adresses mails, tu as quoi ? une virgule ? (il me semble qu'il faut un point virgule)