Vous voudrez probablement avoir des entrées de table pour les emails envoyés. De cette façon, il sert de piste de vérification si les processus tombent en panne ou en quelque sorte échouer. Nous vous suggérons de le faire avec une base de données de nuages élastiques comme MongoLab, MongoHQ ou SimpleDB. (Les services basés sur Mongo facilitent l'extension du schéma pour les nouvelles entrées de messagerie.)
Si vous faites cela, une file d'attente de travail dans le cloud comme SimpleWorker peut faciliter l'envoi simultané de nombreux courriels ou par lots pour obtenir autour de toutes les limites de taux. (divulgation complète: je travaille sur Iron.io/SimpleWorker)
Vous envisagez une bonne approche pour regrouper plusieurs envois de courrier électronique dans une seule tâche de travail afin d'amortir les coûts de configuration du travail. Avec un système de travail en nuage élastique, vous pourriez faire en sorte que les travailleurs principaux ne respectent pas le calendrier, puis mettre en file d'attente un certain nombre de tâches d'esclave, chacune avec un ensemble d'utilisateurs à envoyer. Avec les entrées de table, vous pouvez ensuite parcourir les tableaux de données et adresser tous les e-mails qui ont échoué ou n'ont pas été traités.
Votre question est essentiellement "comment puis-je écrire l'ensemble de l'application", et la seule façon dont nous pourrions répondre est de l'écrire pour vous. Ce n'est pas ce que le SO est pour. Essayez-le, et quand vous êtes coincé sur un problème spécifique, revenez et demandez de l'aide. – meagar
Vous savez que je ne vois vraiment pas ça. – mark