1 votes

Envoi de milliers d'e-mails aux employés (Exchange)

Un rapport mensuel pour chaque employé sera généré par une application de l'entreprise. Nous ajoutons maintenant du code pour envoyer par courriel le rapport une fois généré. Chaque rapport étant différent, nous devons envoyer chaque rapport dans un email différent.

Est-il préférable de pousser le tout vers le serveur Exchange dans une boucle et de le laisser gérer la charge ? Existe-t-il une sorte de drapeau pour dire au serveur Exchange que ce message est de faible priorité ou quelque chose comme ça ? ou devrions-nous faire une sorte de file d'attente pour gérer cela et cette file devrait envoyer n des courriels toutes les quelques minutes environ ? une meilleure pratique ou des conseils ?

4voto

Grant Points 16706

Tu y penses probablement trop. Envoie juste les emails.

En supposant que la boucle du programme génère le rapport 1, puis l'envoie par courriel à la personne 1, puis génère le rapport 2, l'envoie par courriel à la personne 2, etc... la phase de génération du rapport sera probablement assez longue pour ne pas causer une charge trop importante sur le serveur d'échange. Même un petit serveur d'échange ne devrait pas avoir de problème à gérer quelques emails par seconde.

S'il y a un problème, vous le remarquerez en surveillant le serveur d'échange tout en générant les rapports. Ses processeurs sont-ils saturés ? Est-il lent ? La file d'attente des disques monte-t-elle en flèche ? Si c'est le cas, ajoutez un petit délai entre les courriels.

4voto

Craig Points 361

Il n'est pas facile de répondre à cette question sans connaître le volume de votre organisation Exchange existante, ce que les serveurs sont capables de traiter, la taille des e-mails que vous envisagez d'envoyer, etc. Il se peut que vous ne remarquiez rien, ou que tout soit au ralenti.

Par exemple, si tous les utilisateurs sont locaux au serveur Exchange, ce n'est pas un problème. Si vous en avez 300 dans un bureau distant sur un T1, vous allez saturer ce lien pendant un certain temps si les courriels sont volumineux (en supposant qu'il n'y ait pas de QoS).

Par défaut, Exchange ne se soucie pas des drapeaux de "priorité". Vous pouvez cependant activer la mise en file d'attente prioritaire. Voir ici pour un guide pour Exchange 2010 : http://howexchangeworks.com/2011/05/enabling-priority-queuing-in-exchange.html

Personnellement, je n'ai pas encore vu de rapport que TOUS les employés souhaitent voir, à moins qu'il ne s'agisse de primes pour tous. Vous feriez mieux d'héberger le rapport sur quelque chose comme Sharepoint, l'intranet, etc. et d'envoyer des instructions sur la façon dont les employés peuvent consulter ce rapport quand ils le veulent, recevoir des alertes quand il change, etc. Sinon, vous risquez de vous rendre compte que les courriels que vous envoyez sont tout simplement supprimés, ce qui entraîne une perte de temps et de ressources.

0voto

Kaz Points 477

J'enverrais un e-mail identique, en une seule opération, à un alias de courrier qui s'étend à tous les employés pour lesquels le rapport est généré.

Ce courriel contiendrait des instructions ainsi qu'une URL permettant de récupérer le rapport.

L'URL conduit tout le monde à une page où ils s'authentifient (s'ils ne le sont pas déjà) et sont ensuite dirigés vers leur rapport individualisé en fonction de leur ID utilisateur.

La page de consultation du rapport peut leur permettre de l'enregistrer au format PDF, de le transférer à une adresse électronique, etc.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X