每个员工的月度报告将由公司应用程序生成,现在我们添加一些代码,以便在生成报告后也发送电子邮件。 每个报告都是不同的,所以我们需要用不同的电子邮件发送每个报告。
把整个东西推到一个循环中的Exchange服务器并让它pipe理负载更好吗? 是否有某种标志告诉Exchange服务器,这个消息是低优先级或类似的东西? 或者我们应该build立一个队列来pipe理这个队列,这个队列应该每隔几分钟发送一个邮件? 任何最佳实践或技巧?
你可能在想这个。 只需发送电子邮件。
假设程序的循环生成报告1,然后将其发送给person1,然后生成报告2,发送给个人2的电子邮件等等…报告生成阶段可能会足够长,以至于不会在交换服务器上造成太多负载。 即使是一个小型的交换服务器,每秒处理几封电子邮件也不成问题。
如果出现问题,您会在生成报告时通过监视交换服务器来注意到这一点。 这是CPU挂? 它变得呆滞了吗? 磁盘队列正在疯涨吗? 如果是这样,在电子邮件之间添加一个小的延迟。
不知道你现有的Exchange组织的数量,服务器能够处理什么,你正在谈论发送的电子邮件的大小等,要回答这个问题并不容易。 你甚至可能没有注意到任何东西,或者可能会把所有东西都带走。
例如,如果所有的用户都是Exchange服务器的本地用户,可能没有什么大不了的。 如果你在T1的远程办公室有300个,那么如果电子邮件很大(假设没有QoS),那么你将会使链接饱和一段时间。
默认情况下,Exchange不关心“优先级”标志。 您可以启用优先排队。 请参阅此处以了解有关Exchange 2010的演练: http : //howexchangeworks.com/2011/05/enabling-priority-queuing-in-exchange.html
就个人而言,我还没有看到一个所有员工都关心的报告,除非包括每个人的奖金。 您可能更愿意主持有关Sharepoint,Intranet等的报告,并发布有关员工如何在需要时访问该报告的说明,在发生更改时收到警报等。否则,您最终可能会发现您发送的电子邮件只是被删除,浪费时间和资源。
我将通过一个操作将相同的电子邮件发送给所有为其生成报告的员工的邮件别名。
该电子邮件的内容将是一些说明以及用于检索报告的URL。
URL将每个人都带到他们进行身份validation的页面(如果他们还没有),然后根据他们的用户ID将其带到个性化的报告中。
报告查看页面可以让他们保存为PDF,或转发到电子邮件地址等