【问题标题】:multiple sendgrid emails to text message email addresses are out of order多个 sendgrid 电子邮件到短信电子邮件地址出现故障
【发布时间】:2016-02-20 14:48:13
【问题描述】:
当我在 Azure Windows server 2012 VM 上的 .NET (2015) windows 应用程序需要将超过 160 个字符的消息发送到移动设备上的 SMS 文本消息服务的电子邮件地址时,我的应用程序会切断长消息分成每个少于 160 个字符的“块”,然后使用 SendGrid 通过电子邮件发送每个块。
但它们没有按照发送的顺序到达。我该如何解决这个问题?
我尝试在每个块之间插入延迟(thread.sleep),但这不起作用。
【问题讨论】:
标签:
c#
email
azure
sms
sendgrid
【解决方案1】:
你真的不能。您无法控制最终用户手机发送/接收短信的时间和顺序。您可以尝试做的是将消息分解并在循环中等待一分钟,然后再发送下一个块。不能保证这会奏效,听起来你已经尝试过了。
使问题更加复杂的是使用 SendGrid 或任何 ESP(电子邮件服务提供商)。当您向大多数 ESP 发送请求时,他们会将请求排队并发送。因此,即使您等待一分钟来发送您的请求,它们也可能会排在队列中并由 ESP 以几秒钟的时间发送。
您可能想尝试使用诸如 Twilio 之类的 SMS/MMS 服务提供商来发送短信。其中一些服务已经有逻辑,可以自动将太长的消息分解成块,并且可能已经尽力解决乱序问题。