IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

Envoi d'e-mail en masse


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de sarah65536
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 93
    Par défaut Envoi d'e-mail en masse
    Bonjour. Dans mon site web, je dois créer une page pour l'administrateur qui va lui permettre d'envoyer des newsletter. Pour cela, j'ai un formulaire dans lequel il va saisir son texte, puis, grâce a des champs de recherche, choisir a qui il va envoyer le message ( par exemple : que ceux qui ont un certain profil, ou que ceux qui sont dans tel département, ou que ce qui ont modifiés leurs coordonnées depuis un certain temps... ou alors tous les utilisateurs)

    Si l'administrateur choisit d'envoyer 30 ou 40 mails, cela fonction bien, cependant à partir du moment ou il y a plus de personne, cela ne fonctionne pas. ( il doit pouvoir envoyer jusqu'à 10 000 mails en une seule fois)

    J'utilise php5.2.9-1
    apache 2.2.11

    Pour l'envoi du mail, j'utilise la fonction mail()

    Comment puis-je faire ?

    On m'a conseillé d'utiliser Swift Mailer, j'ai regardé un peu la doc sur leur site, et j'avoue ne pas trop en comprendre le fonctionnement. Avez vous des infos, ou des liens ( en français ? ) a me donner pour faciliter mes recherches?

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    C'est simplement qu'avec beaucoup de mail tu dois atteindre le timeout de php.

    La solution est sans doute de lancer un script sans timeout qui en plus d'envoyer les mail te donne une indication de l'avancée que tu peux afficher dans ton administration.
    Ainsi l'utilisateur n'as pas besoin d'attendre devant une page qui charge indéfiniment
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé Avatar de sarah65536
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 93
    Par défaut
    Houla ça à l'air compliqué à faire ça...

    J'ai oublié de préciser, mais je n'ai pas l'autorisation de mon chef pour utiliser javascript. Donc je ne penses pas que ta solution soit désormais possible ( mais n'ayant que peu d'expérience, je me trompe peut-être)

  4. #4
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Pas besoin de javascript.
    Ton bouton envoyer mail appellera par exemple un .bat ou sh (fonction exec) selon si tu es sous windows ou unix.
    Ce script lance le fichier php , qui tourne en tache de fond et à chaque itération il écris dans un fichier le pourcentage d'avancée (facile puisque tu connaitra le nombre total de mail).
    Ne reste plus dans ton interface qu'a venir lire ce fichier et éventuellement bloquer les autres envoi de mail si le premier n'est pas terminé.

    Après tu peux aussi rester dans la méthode dégeulasse qui consiste à simplement lancer le script sans timeout et prier pour que l'utilisateur ai la patience d'attendre devant une page blanche

    PS : tu peux peux dire à ton chef que le JS bien utilisé c'est quand même vachement bien pour améliorer l'expérience de l'utilisateur
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre confirmé Avatar de sarah65536
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 93
    Par défaut
    A force de lire un peu tout et n'importe quoi, j'ai commencé à me faire mon idée :

    Ca consisterai en :
    - lorsqu'on appuis sur le bouton, afficher une page (blanche ?) avec un message du genre "veuillez patienter, le traitement peut dure longtemps bla bla bla" et aucun interaction possible( pas de bouton, pas de lien)
    - le time out serait réglé à 10 minutes
    - envoyer tous mes mails
    - lorsque les mails sont tous envoyés, ré afficher la page avec le message : vos emails ont étés envoyés.
    - cette partie est destinée seulement à l'administration du site, qui, ne sera pas très sollicitée. Je penses que si l'utilisateur es prévenu que le traitement peut durer 10 minutes, il sera patient vu qu'il saura a quoi s'en tenir !

    Cette méthode est la "dégueulasse" mais pour moi elle me parait la plus simple à mettre en place. Néanmoins, je suis prète à faire quelque chose de propre si mon idée n'est vraiment pas bien.



    PS : tu peux peux dire à ton chef que le JS bien utilisé c'est quand même vachement bien pour améliorer l'expérience de l'utilisateur
    Oui j'ai remarqué sur beaucoup de sites l'avantage du javascript. Néanmoins, je comprends son point de vue. Son but est que rien ne fonctionne côté client, pour que nous pussions tout gérer. ayant plusieurs développeurs sous ses ordres, si il commence a laisser faire un truc par ci pour l'un un truc par la pour l'autre, tout le monde voudra utiliser du js, et finallement, les applications se retrouveront avec du js partout et pourront être instables côté client.
    Donc... personne utilise js!

  6. #6
    Membre confirmé Avatar de sarah65536
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 93
    Par défaut
    Ajouter des pauses dans mon script me permettrait -il de contourner mon problème ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Serveur smtp et envoi de mail de masse
    Par Coussati dans le forum Internet
    Réponses: 8
    Dernier message: 20/02/2008, 09h11
  2. Envoi d'e-mails en masse
    Par Gizmil dans le forum Internet
    Réponses: 8
    Dernier message: 22/01/2008, 11h36
  3. [Mail] Envoi d'e-mail en masse
    Par nicaud dans le forum Langage
    Réponses: 5
    Dernier message: 21/01/2007, 11h04
  4. [Mail] envoi mail en masse avec fonction bcc
    Par jarod71 dans le forum Langage
    Réponses: 5
    Dernier message: 08/03/2006, 11h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo