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 :

E-mailing massif


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é
    Inscrit en
    Avril 2005
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 115
    Par défaut E-mailing massif
    Bonjour, je suis supposé créer un outil php pour une campagne de pub de mon entreprise, je pensais m'y prendre tout simplement comme je le fais habituellement, mais il s'agit d'envoyer à peu pret 8 000 000 de mails...

    je voudrais donc savoir avant de me lancer, si php pose des limites concernant le mailing, ou si je pouvais faire cette campagne avec des outils php classique.

    Cordialement

  2. #2
    Membre chevronné Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Par défaut
    tu peux le faire sans pb avec php.
    Les souchi peuvent venir de ton serveur smtp (attention a ta file d'attente) + attention a la construction de tes mails pour éviter de passer dans les spam sur les routeurs.

    Guigo

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 115
    Par défaut
    La structure que j'utilise actuellement est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    $boundary = '-----='.md5(uniqid(rand()));
     
     
     
    								$headers  = "From: \"Lonsite.com\"<contact@monsite.com>\n";
    								$headers .= "MIME-Version: 1.0\n";
    								$headers .= "Content-Type: multipart/related; boundary=\"$boundary\"";
     
    								$message = "Ceci est un message au format MIME 1.0 multipart/mixed.\n\n";
    								$message .= "--" . $boundary . "\n";
    								$message .= "Content-Type: text/html; charset=\"utf-8\"\n";
    								$message .= "Content-Transfer-Encoding: 8bit\n\n";
    								$message .= "<html><body>";
    								$message .= "Mon message au format HTML";
    								$message .= "</body></html>";
    								$message .= $content_encode . "\n";
    								$message .= "\n\n";
    								$message .= "--" . $boundary . "--\n";
     
     
     
     
    $sujet = utf8_decode("Titre de mon message");
     
    mail($email,$sujet,$message,$headers);
    J'ignore si les messages envoyés avec ceci partent en spam


    Pour la "file d'attente", il me faut faire une vérification sur l'envoie du mail, et passer à l'envoie suivant quand le résultat est "true" non?

    Merci

  4. #4
    Membre chevronné Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Par défaut
    Il faut que tu fasse un reglage de ton serveur mail. Edite une regle qui supprime les messages quand l'adresse n'est pas bonne, sinon tu risque d'encombrer ta queue mail. La conséquence (toujours celon la config du serveur mail) peut etre un bouclage sur tes mails qui n'arrive pas a partir et donc tous tes autres mails qui sont eux valide reste dans ta file d'attente. Alors image si ca t'arrive au debut !!! Avec une Bdd de 8 000 000 de contacts !

  5. #5
    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
    Je ne peut que te conseiller de procéder en plusieurs passe à l'aide d'un cron. Envoyer 8M de mail d'un bloc c'est juste suicidaire.

    Ce que je ferais :

    - Un script PHP qui une fois lancé écrit un flag dans la base (ou un fichier) pour indiqué qu'il est en cours d'éxecution.
    - Traitement d'un lot d'email (lot de 1000 me semble être honnete)
    - On retire le flag dans la base et on note l'endroit auquel les envoi ce sont arretés (même chose si jamais il y'a eu erreur avec par exemple une alerte pour que tu en sois informé).

    Tu relances ensuite ce script par exemple toutes les 2 min via un cron. Si pas de flag dans la base => je traite un lot de mail , sinon je quitte le script.

    Pense également à modifier le temps d'exécution minimal de php , sinon tu risquerai d'avoir des surprises.

    Note : il n'est pas rare de voir des mailling de grande entreprise s'étale rsur plusieurs jours.

    Note2 : renseigne toi avec ton hébergeur au niveau de l'envoi de mail, chez certains hébergeur grd public type ovh/1&1 ... si tu envoi 8M de mail rapidement tu as de forte chance de voir ton serveur blacklisté et voir tes mail partir en spam automatiquement
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 115
    Par défaut
    Merci pour vos réponses, je me suis donc renseigné auprès de mon hébergeur, chaque pack d'hébergement me permet de lancer 1 mail/ seconde sans être blacklisté.
    Donc en concevant un script qui boucle toutes les 1.5 secondes, je suis large.

    J'ai cherché comment vérifier la validité d'une adresse mais je n'ai pas trouvé grand chose de concluant, je ne parle pas d'expression régulière, mais bien de vérification de l'existence d'une adresse, pour ne pas me faire blacklister à cause de mauvaises adresses :S

    Auriez vous une piste à ce niveau?

    Ensuite, je voudrais faire un tracing des ouverture de mail, j'ai cru comprendre que je pouvais le faire avec "Disposition-Notification-To" dans le header, ok mais je ne vois pas comment traiter automatiquement les résultats :s

    Je n'ai pas tellement envie d'aller vérifier 300 000 ouvertures de mails sur une boite manuellement...

    Merci pour votre aide !

Discussions similaires

  1. Réponses: 16
    Dernier message: 15/02/2017, 16h30
  2. [AC-2007] envoi de mail massif
    Par zem2006 dans le forum VBA Access
    Réponses: 3
    Dernier message: 22/06/2009, 12h35
  3. Réponses: 4
    Dernier message: 06/06/2007, 21h44
  4. [Newsletter] Cherche un script d'envoi d'e-mails massif
    Par heteroclite dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 09/02/2007, 07h21
  5. [Mail] Envoi de mail massif
    Par Invité4 dans le forum Langage
    Réponses: 14
    Dernier message: 10/10/2006, 15h56

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