2010-07-13 8 views
1

Je travaille sur un site où j'ai le gestionnaire d'administration et j'essaie de voir comment puis-je permettre à l'administrateur d'envoyer des courriels de masse pour notifier l'événement qu'il organise, une fois qu'il invite pour le premier temps puis vers lors de la date de l'événement, cron job devrait automatiquement envoyer un rappel à l'auteur de l'identifiant de l'email qu'il a utilisé pour la première fois. quelque chose comme comment fait l'évite. aimerait apprendre ces fonctionnalités et aussi si possible comment envoyer un email si l'événement est annulé ou reporté.php email de masse et des rappels

ce qui a trait

Répondre

2

Une façon de le faire serait d'avoir une table OutgoingEmail, et dans cette table stocker la date/heure que l'email devrait sortir, l'e-mail adresse, sujet et corps. Lorsque l'événement est organisé, générez le contenu de l'e-mail et insérez un enregistrement pour chaque participant avec la date/heure actuelle. Si l'administrateur sélectionne un rappel pour sortir, insérez également ces e-mails avec cette date/heure future. Lorsque l'événement change, effacez tous les enregistrements de courrier sortant sortants pour cet événement et insérez des enregistrements pour un e-mail 'event changed' (et ajoutez si nécessaire de nouveaux e-mails de rappel avec les détails mis à jour.)

Créez votre script PHP s'exécutera à partir du crontab, et fera interroger tous les enregistrements dans la table OutgoingEmail avec la date/heure dans le passé. Parcourez-les en utilisant la fonction PHP mail() et supprimez-les lorsque vous les envoyez avec succès.

Programmez-le pour qu'il s'exécute toutes les 10 minutes, et vous devez coder une routine pour vous assurer qu'une seule instance s'exécute à la fois. Dans le passé, j'ai créé un fichier 'lock', et le début du script vérifiait le fichier de verrouillage. Si le fichier de verrouillage existe, quittez. Si ce n'est pas le cas, créez-le, traitez les e-mails, puis supprimez le fichier de verrouillage.

Avez-vous d'autres questions?

+0

merci, je ne pouvais pas encore travailler sur ce point, je vais poster plus de notes/accepter les réponses une fois que j'ai terminé. – Jay

0

je regardais dans le PHP Mail functions. Ils ont également des exemples solides et plus peuvent être trouvés en ligne aussi bien. Utilisez quelque chose côté serveur pour garder une trace des dates pour quand exécuter les scripts

+0

En termes de délivrabilité, les fonctions de courrier PHP ne devraient-elles pas être évitées comme l'enfer? – Herr

0

Je voudrais utiliser cette classe pour l'envoi de courriels, j'ai utilisé pendant des années et est très bien rangé.

http://sourceforge.net/projects/phpmailer/files/phpmailer%20for%20php5_6/

puis exécutez une requête sur la table dire où la date est en 14 jours le temps et envoyer un e-mail avec cette classe. Assurez-vous de mettre en surbrillance les lignes de la table avec un rappel envoyé juste au cas où le fichier serait relancé avant le lendemain, les gens seront vraiment agacés s'ils reçoivent plus d'un rappel.

+0

Salut, désolé de poster cette question après un écart. Comme je l'ai mentionné dans d'autres commentaires, je n'ai pas eu l'occasion de travailler sur ce sujet. Pouvez-vous s'il vous plaît me montrer quelques exemples en faisant cela? Ceci est ma situation, je vais montrer 'envoyer un email' à côté de chaque événement dans le gestionnaire d'administration.Lorsque j'ai cliqué je prévois de montrer un formulaire e-mail, l'envoyer aux téléspectateurs et stocker cet email, date du nom de l'événement dans une table Je suis frappé après cela, comment je devrais envoyer des restes d'auto Je suppose que votre idée d'utiliser cette classe aiderait, pouvez-vous s'il vous plaît plus de lumière sur la façon d'utiliser cela? – Jay