发送到短信电子邮件地址的多个 Sendgrid 电子邮件顺序不正确

本文关键字:Sendgrid 电子邮件 顺序 不正确 电子邮件地址 | 更新日期: 2023-09-27 18:35:26

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

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

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

发送到短信电子邮件地址的多个 Sendgrid 电子邮件顺序不正确

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

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

您可能想尝试使用像 Twilio 这样的短信/彩信服务提供商来发送短信。其中一些服务已经具有逻辑,可以将太长的消息自动分解为块,并且可能已经尽力解决乱序问题。