Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/03/2011, 15h39   #1
Membre habitué
 
Homme Jean-François
Développeur Web
Inscription : février 2003
Messages : 124
Détails du profil
Informations personnelles :
Nom : Homme Jean-François
Âge : 32
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : février 2003
Messages : 124
Points : 142
Points : 142
Par défaut Envoie massif de mails avec swiftmailer

Hello,

Quel méthode utilisez vous pour l'envoie massif de mails avec votre applic sf ?

Plusieurs pistes possibles :

envoie du mail à chaque passage de la boucle

Code :
1
2
3
4
5
6
 
<?php
foreach ($destinataires as $email) {
    $message->SetTo($email);
    $this->getMailer()->send($message);
?>
Quand 3000 mails doivent partir la page charge charge...

Jouer avec un envoie tous les x passages

Code :
1
2
3
4
5
6
7
8
9
10
11
 
$i=0;
foreach ($destinataires as $email) {
 $message->AddBcc($email);
  if ($i > 80) {    
    $this->getMailer()->send($message);
    $i= 0;   
  }
$i++;
 } 
$this->getMailer()->send($message);
Trop tordu ?

Utiliser le batchSend de swiftMail ?
Code :
1
2
3
4
5
 
<?php
$message->SetTo($destinataires);  
$this->getMailer()->batchSend($message);
?>
Est-ce que ça apporte quelque chose par rapport à la première solution ?

Mettre en place un cron sur le serveur qui va
exécuter la tâche de sf tous les jours tous les quart d'heures

Code :
1
2
 
php symfony project:send-emails --env=production --message-limit=80
Ca semble le plus logique,
mais quand il s'agit d'un envoie de mails tous les 2 mois sans date fixe d'envoie, est-ce que ça a encore un sens ?

Exécuter manuellement la tâche depuis actions.class.php ?

Code :
1
2
3
4
5
6
7
8
 
<?php
public function taskEmail() {
        chdir(sfConfig::get('sf_root_dir')); // Trick plugin into thinking you are in a project directory
        $task = new sfProjectSendEmailsTask($this->dispatcher, new sfFormatter());
        $task->run(array(), array('env' => 'prod'));
    }
?>
Comment faites vous ?
jfsenechal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2011, 17h52   #2
Membre éprouvé
 
Benjamin Thuillier
Inscription : juillet 2010
Messages : 195
Détails du profil
Informations personnelles :
Nom : Benjamin Thuillier
Âge : 23
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : juillet 2010
Messages : 195
Points : 472
Points : 472
C'est quoi comme type d'envois de mail ? ( newsletter, etc ... ) . Car la solution que je vois c'est de créer une liste de diffusion sur le serveur mail et d'envoyer via cette liste de diffusion.
gilwath est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2011, 17h54   #3
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
Il y a eu un sujet la dessus sur le forum il n'y a pas si longtemps... Pas suivi et je ne sans plus la réponse (ni même s'il y en avait une).
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2011, 18h59   #4
Membre habitué
 
Homme Jean-François
Développeur Web
Inscription : février 2003
Messages : 124
Détails du profil
Informations personnelles :
Nom : Homme Jean-François
Âge : 32
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : février 2003
Messages : 124
Points : 142
Points : 142
newsletter

donc les destinataires changent
jfsenechal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2011, 20h19   #5
Membre éprouvé
 
Benjamin Thuillier
Inscription : juillet 2010
Messages : 195
Détails du profil
Informations personnelles :
Nom : Benjamin Thuillier
Âge : 23
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : juillet 2010
Messages : 195
Points : 472
Points : 472
newsletter, un système de liste de diffusion est vraiment à mon sens le plus optimisé. Comme ça c'est ton serveur mail qui gère l'envoie des mails et pas ton code php. Surtout que c'est le même mail envoyé a un ensemble de personne
gilwath est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2011, 21h06   #6
Membre habitué
 
Homme Jean-François
Développeur Web
Inscription : février 2003
Messages : 124
Détails du profil
Informations personnelles :
Nom : Homme Jean-François
Âge : 32
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : février 2003
Messages : 124
Points : 142
Points : 142
ha bon

j'ai un serveur cyrus, postfix

tu me conseillerais quoi comme liste de diffusion ?
jfsenechal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2011, 22h18   #7
Membre éprouvé
 
Benjamin Thuillier
Inscription : juillet 2010
Messages : 195
Détails du profil
Informations personnelles :
Nom : Benjamin Thuillier
Âge : 23
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : juillet 2010
Messages : 195
Points : 472
Points : 472
je suis pas spécialiste, j'étudie postfix en cours en ce moment donc je peut pas trop dire comment faire de manière simple. swiftmailer permet pas de faire des envois multiples ?
gilwath est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2011, 23h47   #8
Membre habitué
 
Homme Jean-François
Développeur Web
Inscription : février 2003
Messages : 124
Détails du profil
Informations personnelles :
Nom : Homme Jean-François
Âge : 32
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : février 2003
Messages : 124
Points : 142
Points : 142
si avec sf on peut mettre un spool en stockant dans une db ou dans des fichiers

d'où l'intérêt de la commande
Code :
php symfony project:send-emails --env=production --message-limit=80
jfsenechal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 01h22   #9
Membre éprouvé
 
Benjamin Thuillier
Inscription : juillet 2010
Messages : 195
Détails du profil
Informations personnelles :
Nom : Benjamin Thuillier
Âge : 23
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : juillet 2010
Messages : 195
Points : 472
Points : 472
tu dois avoir quoi à la fin de l'envoie de mail en faites comme résultat ? ( a part les mails qui sont parties )
gilwath est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 08h58   #10
Membre habitué
 
Homme Jean-François
Développeur Web
Inscription : février 2003
Messages : 124
Détails du profil
Informations personnelles :
Nom : Homme Jean-François
Âge : 32
Localisation : Belgique

Informations professionnelles :
Activité : Développeur Web
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : février 2003
Messages : 124
Points : 142
Points : 142
Ben heu rien
jfsenechal est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 09h24   #11
Membre éprouvé
 
Benjamin Thuillier
Inscription : juillet 2010
Messages : 195
Détails du profil
Informations personnelles :
Nom : Benjamin Thuillier
Âge : 23
Localisation : France, Hérault (Languedoc Roussillon)

Informations forums :
Inscription : juillet 2010
Messages : 195
Points : 472
Points : 472
bah là solution que je vois c'est faire une tache que tu lances et que tu laisses tourner en tache de fond ( avec un echo ou un log qui permet de vérifier si tout s'est bien passé )
gilwath est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h04.


 
 
 
 
Partenaires

Hébergement Web