向员工发送数千封电子邮件 (Exchange)

向员工发送数千封电子邮件 (Exchange)

公司应用程序将为每位员工生成一份月度报告,现在我们添加一些代码,以便在报告生成后通过电子邮件发送报告。每份报告都不同,因此我们需要通过不同的电子邮件发送每份报告。

是否最好将整个消息循环推送到 Exchange 服务器并让其管理负载?是否有某种标志来告诉 Exchange 服务器此消息的优先级较低或类似情况?或者我们应该创建某种队列来管理它,并且该队列应该n每隔几分钟左右发送电子邮件?有什么最佳实践或技巧吗?

答案1

你可能想多了。直接发邮件就行了。

假设程序的循环生成报告 1,然后将其通过电子邮件发送给人员 1,然后生成报告 2,通过电子邮件发送给人员 2,等等...报告生成阶段可能足够长,不会对 Exchange 服务器造成太大的负载。即使是小型 Exchange 服务器每秒处理几封电子邮件也应该没有问题。

如果出现问题,您可以通过在生成报告时监控 Exchange 服务器来发现问题。它的 CPU 是否已耗尽?它是否变得迟缓?磁盘队列是否激增?如果是,请在电子邮件之间添加一点延迟。

答案2

由于不知道现有 Exchange 组织的容量、服务器能够处理什么、您要发送的电子邮件的大小等,因此很难回答这个问题。您可能甚至不会注意到任何事情,或者它可能会让一切都变得缓慢。

例如,如果所有用户都在 Exchange 服务器本地,那么可能没什么大不了的。如果您在远程办公室通过 T1 拥有 300 名用户,那么如果电子邮件很大(假设没有 QoS),那么您会在一段时间内使该链接饱和。

默认情况下,Exchange 并不关心“优先级”标志。不过,您可以启用优先级排队。请参阅此处了解 Exchange 2010 的演练:http://howexchangeworks.com/2011/05/enabling-priority-queuing-in-exchange.html

但就我个人而言...我还没有看到一份所有员工都愿意看的报告,除非它包含关于每个人奖金的内容。你最好把报告托管在 Sharepoint、内部网等东西上,并发送说明,告诉员工如何在需要时访问该报告,在报告发生变化时收到警报等。否则,你最终可能会发现你发送的电子邮件被删除了,浪费时间和资源。

答案3

我将通过一次操作将相同的电子邮件发送到邮件别名,该别名扩展到所有生成报告的员工。

该电子邮件的内容将是一些说明以及检索报告的 URL。

该 URL 将把每个人带到一个需要进行身份验证的页面(如果他们尚未进行身份验证),然后根据他们的用户 ID 转到他们的个性化报告。

报告查看页面可以让他们将其保存为PDF,或者转发到电子邮件地址等。

相关内容