Hi all,
J’ai eu l’idée de créer un petit script d’un seule fichier qui me permet tout simplement d’envoyer un Newsletter en copiant le contenu d’un fichier csv généré depuis hotmail (ou live si vous voulez) et qui contient la liste de mes contacts. Le problème est que ce fichier contient plein de point-virgule, guillemets,.. et en plus il ne faut extraire que les adresse mails qui doivent bien sur être valide et ayant la forme [email protected]
J’ai eu finalement le temps pour le faire (euh on dirait un homme d’affaire très busy :-p ) et j’ai donc écrit ce tuoriel qui va vous guider étape par étape pour exporter votre liste de contact et ensuite utiliser le script tout prêt pour envoyer votre Newsletter 🙂
Une démonstration du script pour envoyer un Newsletter depuis un fichier de contact hotmail
( /!\ la fonction mail() a été désactivée dans la démo car risque de spam )
(Le script ne contient qu’une seule page 😉)
On commence d’abord par exporter ses contacts hotmail / live mail:
Pour le faire, rendez-vous sur l’interface web de hotmail, cliquez sur « options » en haut a gauche ensuite « Autres option »
Ensuite tout en bas de la page, cliquez sur « Exportation de contacts »
Remplissez le captcha comme demander (tapez les 8 caractères affichés dans l’image) et cliquez ensuite sur « exporter », vous enregistrer le fichier ensuite vous l’ouvrez (avec blocnote par exemple).
Exemple de fichier de contact hotmail:
Voilà, maintenant on a le fichier qui contient toutes les adresses mails de nos contact sur hotmail / live mail.
Ensuite, il faut tout simplement utiliser le script (que vous avez déjà uploadé): vous copier le contenu du fichier WLMContacts.csv dans le champs « , vous remplissez le reste des champs et le script fera le necessaire 🙂 (il extracte les adresses mail ensuite il envoi le mail.
Bonus: Le mail pourra être envoyé en format html mais surtout il faut faire attention aux style (css), il ne doit pas être appelé depuis le header ou autre! il doit être contenu dans la balise elle même sinon il ne va pas fonctionner.
télécharger le script envoie newsletter depuis fichier de contact .csv de hotmail / live mail
(décompresser le fichier ensuite envoyez le sur votre site)
(Merci de ne pas effacer le lien en bas de la page 🙂)
EDIT: Une petite mise à jour sur le script: une attente de 10 secondes après l’envoi de chaque mail pour que les mails ne soient pas bloqués par l’hébergeur suite à la considération de ces mails comme spam!
Le script:
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 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 |
< !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"> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <title>Script newsletter depuis fichier contact hotmail | Blog Galerie César</title> <style type="text/css"> label { float: left; text-align: right; margin-right: 0.5em; display: block; } input { color: #781351; background: #fee3ad; border: 1px solid #781351; } textarea { color: #781351; background: #fee3ad; border: 1px solid #781351; } .submit input { color: #000; background: #ffa20f; width: 420px; } fieldset { background:#FFFF99; border: 1px solid #781351; width: 20em; } legend { color: black; background: #ffa20c; border: 1px solid #781351; padding: 2px 6px; font-weight: bold; } a { text-decoration: none; color: #ffa20c; } </style> <!--[if gte IE 6]> <style type="text/css"> fieldset { padding-left: 20px; width: 490px; } </style> < ![endif]--> <script type="text/javascript"><!------- Verifier si les champs ne sont pas vides ---------> function noEntry() { mails=document.ajout.mails.value; sujet=document.ajout.sujet.value; contenu=document.ajout.contenu.value; if ((mails.length<1)||(mails.substring(0,6)=="******")) { alert("Veuillez copier votre liste de contact!"); document.ajout.mails.value=""; document.ajout.mails.focus(); document.ajout.mails.select(); return false; } if ((sujet.length<1)||(sujet.substring(0,6)=="******")) { alert("Veuillez tapez le sujet du mail"); document.ajout.sujet.value=""; document.ajout.sujet.focus(); document.ajout.sujet.select(); return false; } if ((contenu.length<1)||(contenu.substring(0,6)=="******")) { alert("Veuillez tapez le contenu du mail"); document.ajout.contenu.value=""; document.ajout.contenu.focus(); document.ajout.contenu.select(); return false; } else { return true; } } </script> </head> <body> <div id="formulaire"> <form name="ajout" onsubmit="return noEntry()" action="newsletter-depuis-hotmail.php" method="post"> <fieldset> <legend>Forumulaire envoi Newsletter depuis fichier contact hotmail ou autre</legend> <p><label for="mails">Fichier csv depuis hotmail :</label><textarea name="mails" cols="50" rows="10"></textarea></p> <p><label for="sujet">Votre adresse mail:</label> <br /><input type="text" name="sender" size=66 /></p> <p><label for="sujet">Sujet du mail:</label> <br /><input type="text" name="sujet" size=66 /></p> <p><label for="contenu">Contenu du mail a envoyer (en html):</label> <br /> <textarea name="contenu" cols="50" rows="10"></textarea><br /></p> <p class="submit"><input type="submit" value="Envoyer" /></p> <a href="http://blog.galerie-cesar.com">© Blog Galerie César</a> </fieldset> </form> </div> <br /> < ?php if ((isset($_POST['mails'])) and (isset($_POST['contenu'])) and (isset($_POST['sujet']))) { $_POST['mails'] = str_replace(";", " ", $_POST['mails']); //on enleve les point-virgules $_POST['mails'] = str_replace("\"", " ", $_POST['mails']); //on enleve les guillemets function get_email_addrs($string) { // Crée le tableau de destination $email_list = array(); // Obtient les adresses contenues dans la chaîne while(eregi("[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+", $string, $regs)) { // Ajoute l'adresse trouvée à l'index suivant du tableau de sortie $email_list[] = $regs[0]; // Supprime l'adresse de la chaîne $string = str_replace($regs[0], "", $string); } // Plus d'adresses ? Retourne la liste return array_keys(array_flip($email_list)); } // Définit la chaîne à analyser $string = $_POST['mails']; // Extrait les adresses e-mail de cette chaîne $email_list = get_email_addrs($string); //envoi des mails: for($i=0; $i < count($email_list); $i++) { $Destinataire = $email_list[$i]; $Sujet = $_POST['sujet']; $From = "From:".$_POST['sender']."\n"; $From .= "MIME-version: 1.0\n"; $From .= "Content-type: text/html; charset= iso-8859-1\n"; $Message = $_POST['contenu']; mail($Destinataire,$Sujet,$Message,$From); echo '<br/>'; echo $email_list[$i]; sleep(10); } } ?> <br /> <a href="http://blog.galerie-cesar.com/php-script-newsletter-depuis-fichier-contact-csv-hotmail-live-mail/" title="News letter depuis fichier de contact csv | blog galerie césar" style="color: black; font-size:17px; font-weight: bold; text-decoration: underline;">Retour à l'article</a> </body> </html> |
Catégorie: Developpement web, Diverses Astuces, PHP
Tags: astuce, hotmail, live mail, newsletter, PHP, script.
Aucun commentaire