我有2種郵件功能,比如:PHP的mail()函數在錯誤的順序執行
mail($from, '', 'mail1', $headers);
mail($from, '', 'mail2', $headers);
如果我從$我自己的電子郵件地址進行測試,有時我收到MAIL1第一,有時我首先收到mail2。我想要總是先收到mail1。我試圖在兩個郵件功能之間放置一段時間,但沒有奏效。
我有2種郵件功能,比如:PHP的mail()函數在錯誤的順序執行
mail($from, '', 'mail1', $headers);
mail($from, '', 'mail2', $headers);
如果我從$我自己的電子郵件地址進行測試,有時我收到MAIL1第一,有時我首先收到mail2。我想要總是先收到mail1。我試圖在兩個郵件功能之間放置一段時間,但沒有奏效。
你不行。您收到郵件的順序不取決於您。郵件可能需要很多路徑,並且在任何SMTP服務器上都會被延遲。
你可以做的最好的辦法是僞造日期標題,使一個電子郵件顯示比另一個早一分鐘。大多數郵件客戶端將按發送日期排列。不過要謹慎,並且不要太過分。垃圾郵件製造者使用相同的策略,電子郵件提供商知道這一點。
當您的mail
函數執行後,郵件的實際交付留給郵件服務器。也就是說,在從服務器/ PHP代碼釋放對電子郵件的控制權後,您無法控制首先到達收件箱的內容。
閱讀Mail Transfer Agents以及它們如何操作。
您確定這不僅僅是由於郵件傳遞服務器中的隨機延遲和延遲而發生的嗎? – Jazz 2012-04-16 20:21:20
兩個不同域的地址是?還有很多不僅僅是郵件調用的順序。 – Cfreak 2012-04-16 20:21:39