我的一些用户表示他们不是在同一时间收到同一封邮件。这导致了许多“你没读邮件吗?”的情况...
如何解释同一封邮件没有转发给至少在同样的15分钟内?
下面是一个日志示例,说明了我的意思:
15:54:10 Object: TEST dst:[email protected] src: [email protected]
15:54:10 Object: TEST dst:[email protected] src: [email protected]
15:54:09 Object: TEST dst:[email protected] src: [email protected]
15:54:09 Object: TEST dst:[email protected] src: [email protected]
15:14:09 Object: TEST dst:[email protected] src: [email protected]
14:54:09 Object: TEST dst:[email protected] src: [email protected]
14:43:18 Object: TEST dst:[email protected] src: [email protected]
14:43:12 Object: TEST dst:[email protected] src: [email protected]
答案1
如何解释同一封邮件至少在15分钟内没有转发给用户?
我的猜测是,您在一个相对繁忙的网络或服务器上向大量的人转发邮件。
当无法进行交易时,邮件服务器通常会出现延迟。当无法进行交易时,许多邮件服务器会等待一段时间(可能可配置也可能不可配置)然后再尝试发送任何给定的邮件项目。这种情况可能会连续发生多次。
同样,邮件服务器通常分批发送批量邮件。关于批量邮件,需要记住的一件事是,批次之间可能会自动延迟,以防止邮件被视为垃圾邮件或以其他方式让收件人不知所措。同样,此延迟可能是或不可能配置的。
结果是检查服务器和网络,找出可能阻碍有效发送邮件的瓶颈。但请注意,可能会出现您无法调整的延迟。
顺便说一句,我觉得电子邮件是即时的,这似乎是一个普遍的误解。它不是,至少并不总是如此。这可能不取决于你,但如果你想要一种有效分发信息的方法,即刻,要么是具有更新内容的集中式网页,要么是具有类似开火可能是一条不错的路线。
来玩个游戏...
作为对您发布的数据的思想实验,让我们想象这样一种情况,其中一个批次直到最后一批完成才能启动:
第 1 批
1)由于网络流量低,用户 8 和 7 响应迅速,交易快速完成:
14:43:12 Object: TEST dst:[email protected] src: [email protected]
14:43:18 Object: TEST dst:[email protected] src: [email protected]
2)不幸的是,前两件邮件发送后不久,流量激增,导致用户 6 的交易中断。邮件服务器决定等待 5 分钟再重试,但在 14:49 再次失败。因此,它又等了 5 分钟,交易终于成功(延迟 10 分钟):
14:54:09 Object: TEST dst:[email protected] src: [email protected]
3)拥堵情况只会变得更糟。现在用户 5 的交易在 5 分钟重试间隔内有 4 次交易失败(延迟 20 分钟):
15:14:09 Object: TEST dst:[email protected] src: [email protected]
第 2 批
4)批次 1 已完成。根据一些设置,服务器决定等待 10 分钟,然后在 15:24 开始处理批次 2。
邮件服务器尝试对用户 4 的电子邮件(即第 2 批中的第一封电子邮件)进行交易。不幸的是,持续的流量高峰使得成功的交易变得相对不可能,导致又延迟了 30 分钟(6 次尝试失败)。这导致第 2 批中的第一封电子邮件总共需要 40 分钟才能发送:
15:54:09 Object: TEST dst:[email protected] src: [email protected]
5)幸运的是,繁忙期已经过去,邮件服务器现在可以快速完成第 2 批交易的其余部分:
15:54:09 Object: TEST dst:[email protected] src: [email protected]
15:54:10 Object: TEST dst:[email protected] src: [email protected]
15:54:10 Object: TEST dst:[email protected] src: [email protected]