2010-10-11 3 views
0

l'autre jour, je reçu une commande d'un client et il m'a demandé d'écrire un script qui peut envoyer un courriel articles du site quand il les soumetautomatique l'envoi de courriels en vrac en php

chose poing, il a demandé envoyait des e-mails à tous les utilisateurs ok maintenant pour faire ce script je devrais prévoir d'écrire un script d'email qui peut envoyer l'article à tous les utilisateurs après avoir soumis une nouvelle par l'auteur.

  • ce script devrait quee e-mails ne pas faire le serveur vers le bas

  • et il devrait fonctionner sur fond et autumatically

bel exemple de ce script peut être section groupe mail phpbb3

J'ai recherché sur google quelque chose d'utile pour ce script, n'importe quelle classe de php qui peut aider

Quelle est votre suggestion et comment écrire si cette commande vous venait à l'esprit?

Répondre

1

Utilisez cron.

Vous pouvez exécuter un travail cron toutes les 5 ou 10 minutes pour n'envoyer qu'un faible pourcentage de courriels à la fois. De cette façon, il fonctionne en arrière-plan et ne claque pas le serveur SMTP. Le script cron doit utiliser une classe bien testée telle que PHP Mailer ou SwiftMailer.Créer une table de référence croisée qui garde la trace des adresses qui ont été envoyés par courriel quels articles.

0

Combien de courriels devrez-vous envoyer?

Je recommande de vous limiter par domaine. Je voudrais d'abord faire un tri sur toutes les adresses e-mail par domaine, puis créer un mécanisme pour sélectionner de chaque domaine lors de l'envoi. Il est important de garder une minuterie et de ne pas dépasser ce nombre. De mon expérience, je ne recommanderais pas plus de 500 par grand domaine (yahoo, google ...) par heure, si vous pouvez terminer votre travail dans un délai raisonnable de cette façon. Lorsque je travaillais pour une société d'enregistrement de produits, les domaines plus grands nous fermaient si nous envoyions beaucoup de courriels par heure à la suite d'une grande campagne.

Une autre question connexe est de savoir quel niveau de fiabilité avez-vous besoin? Etes-vous en train de mettre en place un script pour éliminer ces courriels et vous vous souciez peu de ce qui se passe, ou aimeriez-vous réellement un serveur de messagerie qui interprète les messages d'erreur (et prend les mesures de suivi appropriées)?

En règle générale, assurez-vous qu'il existe un moyen de vous désinscrire de ces courriels. À moins que vous ne le fassiez, vous êtes probablement illégal et vous aurez l'air extrêmement indésirable. Il y a aussi des scripts de vérification de spam que vous pouvez utiliser (malheureusement, je ne me souviens pas du nom).

J'ai travaillé sur un système pour visualiser la santé de nos serveurs de messagerie, par tranches de quinze minutes. Cela impliquait l'analyse de nos journaux de serveur de messagerie. Cette visualisation a aidé notre équipe à décider quand nous devions appeler yahoo et leur expliquer que nous ne sommes pas des spammeurs. Envoyez-moi un message (Google mon nom) si vous voulez parler de l'un de ces concepts plus en détail.

Bonne chance!

-Brian J. Stinar-

0

ce script devrait quee e-mails ne pas faire le serveur vers le bas

  • d'abord installer une file d'attente de messages comme par exemple Redis (blocage des fenêtres pop a), beanstalkd, gearmand. Vous pouvez limiter le débit lorsque vous utilisez une file d'attente de messages.

  • Ensuite, ajoutez le message à la file d'attente du côté client.

utilisant Redis par exemple

lpush email $youremail 

et il devrait fonctionner sur fond et autumatically

  • ont un processus deamon ces messages et envoyer des courriels en lot avec quelque chose comme swiftmailer.

    1. créer un fichier php cli nommé email.php par exemple

    2. intérieur fichier à l'aide Redis par exemple

      blpop email

    3. début php email.php comme deamon.