envois newsletter

Eléphanteau du PHP | 11 Messages

12 nov. 2015, 18:26

bonjour,

Voilà juste un petit problème.

J’ai un fichier texte contenant des mails et j’ai créé une page pour me permettre d’envoyer une page du site mais voila je ne sais pas comment faire pour mettre la page à la place du texte (ligne 5 du code).

du plus est-ce que ma façon de faire ne poseras pas de problèmes lorsque la liste seras importante (saturation,....) si oui comment faire pour l'éviter?

Code : Tout sélectionner

<?php $From ='From: "DISCO POWER" <[email protected]>'."\n"; $From .= 'Content-Type: text/plain; charset="iso-8859-1"'."\n"; // $From .= "Content-type: text/plain; charset=iso-8859-15\r\n"; $messagecontact = "Newsletter disponible à cette adresse ww.discopower.fr/discopower/news/news-letter.html"; $liste = array_map('trim', file('email_list.txt')); $msg = ''; foreach($liste AS $dest){ if(mail($dest, 'Le site de la sono', $messagecontact, $From)) $msg .= 'Mail envoyé à : '.$dest.'<br />'; else $msg .= '<span style="color: red">Erreur envoi à : '.$dest.'</span><br />'; } echo $msg;

Mammouth du PHP | 2703 Messages

12 nov. 2015, 18:35

http://php.net/manual/fr/function.file-get-contents.php pour lire le contenu de discopower/news/news-letter.html et le passer à https://github.com/Synchro/PHPMailer pour envoyer l'email au format html.

Eléphanteau du PHP | 11 Messages

12 nov. 2015, 20:57

bonsoir,

merci mais bon cela ne m'avance pas plus enfin je lis et on verras.
mais voila une réponse pour me dire débrouille toi avec les tutos et bien c'est ce que je fais depuis plusieurs jours.
si je viens ici c'est que les tutos ne m'ont rien apporté pour mon problème.

Eléphanteau du PHP | 16 Messages

13 nov. 2015, 18:24

Salut,

Il t'a donné les éléments, savoir lire la documentation est très important pour avancer, d'autant plus que la documentation PHP contient des exemples concrets.
Pour récupérer le contenu HTML dans une variable, il te suffit de regarder "Exemple #1 Lit et affiche le code HTML d'un site Web" de la page http://php.net/manual/fr/function.file-get-contents.php

Une fois que tu as le contenu HTML dans ta variable, tu peux envoyer le mail. Regarde l'exemple "Example #4 Sending HTML email" dans la page http://php.net/manual/en/function.mail.php (Il faudra changer ton Content-Type par exemple).

Eléphanteau du PHP | 11 Messages

13 nov. 2015, 19:26

bonsoir,

je sais que les réponses sont dedans mais quand tu connais pas tu connais pas.
je me débrouille comme je peux avec les tutos mais voila à un moment je suis bloqué et c'est pour cela que je demande de l'aide.
j'ai jamais demandé que l'on m'écrive mon site juste corriger ce que je n'arrive pas à faire.
j'ai fait tout de A à Z depuis deux mois que je travail dessus mais la je n'y arrive plus.

donc merci pour les infos je vais essayé et on verra.

Daniel

Eléphanteau du PHP | 11 Messages

13 nov. 2015, 20:22

bonsoir,

bon je viens d'essayer et la plus rien ne marche. je vais donc simplement envoyer l'adresse de la page et les gens viendrons la voir sur le site comme cela plus de problème et je vous embête plus avec mes questions.

bonne soirée

Eléphanteau du PHP | 11 Messages

13 nov. 2015, 20:47

voila je reviens avec mon code modifié qui fonctionne en local mais je suis pas sure que cela marcheras en ligne.
pouvez vous me dire ce que vous en pensez.

Daniel

Code : Tout sélectionner

<?php $homepage = file_get_contents('news-letter.html'); $From ='From: "DISCO" <[email protected]>'."\n"; $From .= 'Content-Type: text/plain; charset="iso-8859-1"'."\n"; // $From .= "Content-type: text/plain; charset=iso-8859-15\r\n"; $message = 'echo $homepage'; $liste = array_map('trim', file('email_list.txt')); $msg = ''; foreach($liste AS $dest){ if(mail($dest, 'Le site de la sono', $message, $From)) $msg .= 'Mail envoyé à : '.$dest.'<br />'; else $msg .= '<span style="color: red">Erreur envoi à : '.$dest.'</span><br />'; } echo $msg;