PHP mail() 函数以错误的顺序执行


php mail() functions executed in wrong order

我有 2 个邮件函数,如下所示:

mail( $from, '', 'mail1', $headers );
mail( $from, '', 'mail2', $headers );

如果我在$from中使用自己的电子邮件地址对其进行测试,有时我首先收到邮件1,有时我先收到邮件2。我想总是先收到邮件1。我尝试在 2 个邮件功能之间打一个睡眠,但它不起作用。

你不能。 您接收邮件的顺序不取决于您。 邮件可能采用多种路径,并且在此过程中会在任何SMTP服务器上延迟。

你能做的最好的事情就是伪造日期标题,使一封电子邮件看起来比另一封早一分钟发送。 大多数邮件客户端将按发送日期订购它们。 不过要小心这一点,不要走得太远。 垃圾邮件发送者使用相同的策略,电子邮件提供商也知道这一点。

mail函数执行后,电子邮件的实际传递留给邮件服务器。也就是说,在从服务器/PHP代码释放对电子邮件的控制后,您无法控制哪个首先进入收件箱。

阅读邮件传输代理及其运作方式。