我被要求向会员数据库中的地址发送大约 6500 封电子邮件。我编写了一个程序,用于发送和报告无法发送的电子邮件等。但我担心的是,这个程序只会调用 smtpclient.Send();如果队列中有 6000 封邮件,我不知道会发生什么。据我所知,服务器是 MS Exchange。
注意:我计划发送它们,比如说 500 x 500。但是,如果 Exchange 服务器在 120 处发生异常怎么办?那么其他的会发生什么情况?
我将不胜感激您对这个问题的一点见解。
提前致谢。
答案1
好吧,事情是这样的。Exchange 将接收您的电子邮件并将其排队。根据您发送的邮件质量,它将突然停止以吞下您转储到其中的内容(我曾经编写过这样的发送工具,使用 64 个线程,按照规格尽可能快地转储它们,并且在我发送时它会停止交换服务)。
然后它将开始发送它们。
在稍后阶段,您会收到原始电子邮件的 NDR(未送达报告)。这将需要最多 2 天的时间,因为 Exchange 会尝试发送并再次发送(管理员设置,2 天是标准时间,这是合理的)。
发送并报告无法发送的消息等等。
这是如何工作的,假设exchagne会接受任何有效的电子邮件而不检查它此时是否可以投递?