Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1351 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  script php: lisant le contenu d'un fichier externe

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

script php: lisant le contenu d'un fichier externe

n°1306526
kakahn
Posté le 15-02-2006 à 16:55:18  profilanswer
 

bonjour,
 
je cherche a mettre en place un petit script php fesant ceci:
 
-envoyer un e-mail sous la forme d'un fichier .html
 
Donc il y aurai: - un bouton parcourir ( on sélectionne le .html )
                       - un champ pour indiquer le sujet du message
                        - et ce fameux bouton Envoyer.
 
Jusque la ça va.  
Mon problème :
 
   Quand on clique sur le bouton envoyer, le script doit allez lire un fichier externe comprenant la liste des adresses e-mails. Il prend la 1ere adresse e-mail envoie le fichier sous forme de mail ( pas en fichier joint ). ainsi de suite pour chaque adresse compris dans le fichier externe. Je vous donc déja l'utilisation d'une boucle.
 
( Exemple d'utilisation: une entreprise veut envoyer une campagne de pub a son carnet d'adresses de clients. )
 
Donc voila je suis débutant en php et je ne sais pas trop comment m'y prendre au niveau de la lecture du fichier externe. Est ce que quelqun pourrait-il me guider?  
 
merci d'avance

mood
Publicité
Posté le 15-02-2006 à 16:55:18  profilanswer
 

n°1306532
fluminis
Posté le 15-02-2006 à 16:59:15  profilanswer
 

pourquoi ne pas mettre tout simplement une adresse email par ligne dans ton fichier ?
 
http://fr2.php.net/file


---------------
http://poemes.iceteapeche.com - http://www.simuland.net
n°1306535
dwogsi
Défaillance cérébrale...
Posté le 15-02-2006 à 17:05:05  profilanswer
 

non, plutôt mettre un séparateur entre chaque adresse. du genre un ;
on obtient donc un fichier contenant :

Citation :

mail@host.com;mail@host2.com;mail2@host.com etc...


 
Ensuite le code :

Code :
  1. $liste = explode(";",file_get_contents("liste_mail.txt" ));
  2. for($i=0;$i<count($liste);$i++)
  3.     mail(-les infos à mettre dont $liste[$i] comme adresse du destinnataire-);


 
Et s'il y a beaucoup d'adresses, faire attention au timeout.


Message édité par dwogsi le 15-02-2006 à 17:07:21
n°1306556
kakahn
Posté le 15-02-2006 à 17:17:27  profilanswer
 

je suis plutôt parti sur la méthode de dwogsi merci à vous deux.

n°1306578
omega2
Posté le 15-02-2006 à 17:41:36  profilanswer
 

Si tu dois envoyer un mail à plusieurs centaines de personnes il faut faire attention de ne pas saturer le serveur de mail :

  • certain serveurs de mails limitent le nombre d'envoie de mail par utilisateur dans un temps donnée. A mon boulot, on est limité à 100 mails par 30 secondes.
  • certains serveurs sont sur des machines qui ne sont pas capable d'envoyer plus de n mails par secondes. (une fois le nombre dépassé de tant de mail, le serveur refusera les suivant)
  • certains serveur ont une file d'attente en envoie qui est limité : si on la remplis à raz bord, les mails suivants seront refusé


De plus, l'envoie d'un mail prend un certain temps, en multipliant ce temps par le nombre de mail à envoyer, alors le script risque de dépasser le temps qui lui est impartie et donc de s'arrêter avant la fin du traitement. Si le script php est lancé en ligne de commande, il n'y aura pas ce probléme là.
 
 
Pour éviter tout ça, le mieux, c'est de penser à envoyer les mails par lot. je m'explique :

  • le navigateur demande l'envoie de mail, le script va lire les n premiére lignes du fichiers et envoyer aux adresses correspondantes.
  • une fois ces mails envoyé, le script va fermer le fichier et demander au navigateur de le rapeller à nouveau aprés tant de temps
  • a l'appel suivant le script va lire les n premiéres lignes du fichier sans les traiter et les n suivantes qu'il traitera

n°1306583
kakahn
Posté le 15-02-2006 à 17:45:45  profilanswer
 

je rencontre un autre petit soucis, pour la variable $message .
 
comment définir automatiquement le contenu du message en fonction de ce que l'on veut envoyer.
 
exemple si dans le code html je fais un champ qui dis entrer  l'url de la page html ( qui est en ligne ) .
 
et apres dans php si je mets  

Code :
  1. $message = $_POST ['url'];


 
il va me mettre dans le corps du message l'url et non m'afficher la page html  
 
C'est pas évident à expliquer  ^^ désolé
 
Vous avez des idées ?

n°1306586
afbilou
pouet your life
Posté le 15-02-2006 à 17:49:59  profilanswer
 
n°1306587
dwogsi
Défaillance cérébrale...
Posté le 15-02-2006 à 17:50:04  profilanswer
 

définir correctement l'entête
$corps = file_get_contents($_POST['url']);
 
ET CHERCHE UN PEU BORDEL
Je t'ais déjà donner un bon bou de code pour faire ton envois alors essais un peu!!!
Va lire LA DOC!!!!!


Message édité par dwogsi le 15-02-2006 à 17:50:59

---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1306591
kakahn
Posté le 15-02-2006 à 17:54:30  profilanswer
 

si je post c'est que j'ai cherché !!!! merci quand même


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  script php: lisant le contenu d'un fichier externe

 

Sujets relatifs
Script de redemarrage en vbsComment structurer un convertisseur de format de fichier
[ java ] comment créé un fichier + d'autes question dans le futur..[VBS]Script Suppression .log & .zip
[Ant] Rajouter une ligne en en-tete dans un fichierappli pilotée par un script
Lancer un script depuis javascriptediteur de secteur pour fichier .cab ?
Savez-vous où windows enregistre le fichier de calibrage d'un volant?Aide Explication script vbs (getenvironnement)
Plus de sujets relatifs à : script php: lisant le contenu d'un fichier externe


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR