多个sendgrid电子邮件到短信电子邮件地址都不正常

时间:2016-02-20 14:48:14

标签: c# email azure sms sendgrid

当我的.NET(2015)Windows应用程序,在我的Azure Windows服务器2012 VM上,需要将超过160个字符的消息发送到移动设备上的短信服务的电子邮件地址时,我的应用程序会切断长消息进入' chunks'每个少于160个字符,然后使用SendGrid通过电子邮件发送每个块。

但是他们没有按照发送的顺序到达。我该如何解决这个问题?

我已尝试在每个块之间插入延迟(thread.sleep),但这不起作用。

1 个答案:

答案 0 :(得分:3)

你真的不可能。您无法控制最终用户电话发送/接收短信的时间和顺序。你可以尝试做的是打破消息并在循环中等待一分钟然后发送下一个块。但是不能保证这会起作用,听起来你已经尝试过了。

使问题更复杂的是使用SendGrid或任何ESP(电子邮件服务提供商)。当您向大多数ESP发送请求时,他们会排队请求并发送请求。因此,即使您等待一分钟发送请求,它们也可能排在队列中并由ESP发送,所有这些都是在几秒钟内完成的。

您可能想尝试使用Twilio等短信/彩信服务提供商发送短信。其中一些服务已经将逻辑分解为太长时间自动分组的消息,并且可能已经尽力解决了无序问题。