我们有一项Windows服务来检查是否满足某些条件,我们将向客户发送电子邮件。我们每天将有大约50封电子邮件要发送。我的问题是,是单独发送电子邮件(即每次满足条件,都会触发sendmail函数)还是将所有电子邮件排队并成批发送更好?是因为性能原因还是批量发送更好?但是我们每天只发送大约50封电子邮件,所以这并不重要。如果电子邮件需要批量发送,您将如何对电子邮件进行排队?
非常感谢
发布于 2011-08-09 20:50:14
通常,将多封电子邮件批处理为一封电子邮件的原因是为了不激怒收件人,而不是出于性能方面的原因。全天50封电子邮件可能会非常烦人,并会很快导致收件人“忽略”,而一封包含所有相关通知的电子邮件可能更容易消化。
至于如何对电子邮件重新排队,最好是修改服务本身,将传出的电子邮件存储在文件或缓冲区中,并且只在达到某个阈值时才发送该文件或缓冲区的内容--时间阈值或大小阈值。
发布于 2011-08-09 20:51:45
如果你每天只发送50封电子邮件,这一点完全没有意义。
就实际的服务器而言,SMTP并不关心您是成批发送还是单独发送,它只是通过一个电子邮件积压队列发送出去。
唯一真正需要关注的应该是,如果您需要不断查询数据库以获取要发送的电子邮件,或者是否要查询数据库以获取要发送的成批电子邮件(以减少数据库查询)。
发布于 2011-08-09 20:57:48
忽略性能,您需要记住另一件事:用户是否需要在满足条件后立即发送电子邮件?如果是这样的话,甚至不要考虑将消息排队,除非您是在几乎不变的基础上清空队列。
否则,这真的取决于你。每天50封电子邮件不会让你的服务器崩溃,所以我不会担心性能问题。另一方面,如果您和您的用户方便地批量发送电子邮件,请使用它。
https://stackoverflow.com/questions/7002796
复制