C’est tout con ! Parfois on tombe sur une liste de mail dont on va avoir envie de se servir mais on ne va pas sortir l’artillerie lourde pour ça.
Par exemple, je trouve les mails de 5 bloggueurs à qui j’aimerais envoyer un mail pour leur proposer un article en crowsourcing !
Je vais ouvrir ma boite mail, rédiger un message et y joindre tous les destinataires en CC:
Pas super propre et souvent chiant à faire, on cherche plus un truc tout con qui envoit facilement à une petite centaine de personne maxi le message que l’on souhaite partager.
Pourquoi faire ?
- Grouper les demandes de partenariats
- Faire du crowdsourcing
- Faire une pub sans foutre en l’air son logiciel de mailing habituel sous peine de tomber dans le SPAM par la suite (bien souvent les logiciels demandent une confirmation d’email…Pas ici)
- Envoyer une pub rapidement (Tiens belle liste de bloggueurs SEO, je vais leur faire connaitre mon nouveau site: copié/collé, message => envoye == DONE !)
- etc…
Allez on va voir ce qu’il nous faut pour faire ça et tout faire tenir en un seul fichier !
Un petit peu de html
On fait vite ici…On va utiliser le bootstrap Twitter pour la mise en forme et le css du formulaire
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge"/> <meta name="viewport" content="width=device-width, initial-scale=1.0"/> <meta name="description" content=""/> <meta name="author" content=""/> <title>Mass Mailer</title> <link type="text/css" href="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet" /> <link type="text/css" href="http://netdna.bootstrapcdn.com/bootswatch/3.0.0/flatly/bootstrap.min.css" rel="stylesheet" /> <link type="text/css" href="http://netdna.bootstrapcdn.com/font-awesome/4.0.0/css/font-awesome.min.css" rel="stylesheet" /> <link type="text/css" rel="stylesheet" href="http://jqueryte.com/css/jquery-te.css" charset="utf-8" > <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries --> <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script> <![endif]--> </head> <body> <div class="container"> <h1>Mass Mailer</h1> <form role="form" method="POST" action="mailing.php"> <div class="form-group"> <label >Nom d'envoi</label> <input name="from_name" type="text" class="form-control" id="exampleInputPassword1" placeholder="[SITE.COM] JAck"> <p class="help-block">Nom de l'envoyeur.</p> </div> <div class="form-group"> <label>Email envoyeur</label> <input name="from_email" type="text" class="form-control" id="exampleInputPassword1" placeholder="webmaster@site.com"> <p class="help-block">l'adresse mail ou les personnes pourront répondre.</p> </div> <div class="form-group"> <label>Adresses mails</label> <textarea name="emails" class="form-control" rows="3"></textarea> <p class="help-block">Une adresse par ligne.</p> </div> <div class="form-group"> <label>Sujet</label> <input name="sujet" type="text" class="form-control" id="exampleInputPassword1" placeholder="Bonjour !"> </div> <div class="form-group"> <label>Message</label> <textarea id="message" name="message" class="form-control" rows="10"></textarea> </div> <button type="submit" class="btn btn-default">Envoyer</button> </form> <footer> <div class="row"> <p class="pull-right">By <img src="http://akiseo.com/imgs/akiseo.png"/></p> </div> </footer> </div>
Un coup de PHP
<?php //functions d'envoi de mail' function send_mail($destinataire,$sujet,$message,$from_name,$from_email){ $headerMail= "Content-Type:text/html;charset=iso-8859-1n";//permet d'envoyer les message au format html $headerMail.= "Content-Transfer-Encoding: 8bitn";//permet d'envoyer les message au format html $headerMail.="From: $from_name <$from_email>";//pour répondre au message mail($destinataire,$sujet,$message,$headerMail); } //Si formulaire soumis if ($_POST): $sujet_mail = $_POST['sujet']; //on retire les slashes et on convertit les retours à la ligne $texte = stripslashes(nl2br($_POST['message'])); $from_name=$_POST['from_name']; $from_email= $_POST['from_email']; $mails = explode(chr(10),$_POST['emails']); //pour chaque mail, on envoit le mail foreach($mails as $mail){ if(send_mail($mail, $sujet_mail, $texte,$from_name,$from_email)){ echo '[KO] Mail non envoyé à '.$mail.'<br/>'; }else{ echo '[OK] Mail envoyé à '.$mail.'<br/>'; } } endif; ?>
L.3 Une fonction d’envoi d’email…Pratique pour des envois HTML !
L.12 On verifie que le formulaire est bien posté et on relève les données des différents inputs (nom envoyer,email envoyeur pour réponse, liste destinataires, message) !
L.25 On boucle sur les adresse mail et on envoit un par un ! pas de CC/
C’est fini !
Et on paufine la rédaction par un peu de JS pour avoir un joli textarea wysiwyg pour insérer des liens et tout !
<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.0.min.js"></script> <script type="text/javascript" src="http://jqueryte.com/js/jquery-te-1.4.0.min.js"></script> <script type="text/javascript"> $("#message").jqte(); </script>
On transforme ici notre textarea pour rédiger le message en wysiwyg pour une rédaction facilité en html (tag, gras, souligné, liens, etc…)
Tout tient dans un seul fichier. Je le mets sur un de mes hebergements et j’ai de quoi faire un peu de mailing rapidement si une idée me traverse la tête !
Dézippe. Upload sur ton serveur et c’est parti !
Rapide, simple & efficace…
Si tu as des suggestions d’amélioration, n’hésite pas dans les commentaires !
(2733 lectures)
le lien ne fonctionne pas, pour télécharger le script, il me renvoi sur une page lien plus accessible