2016-08-23 111 views
3

是否有可能通過mail()發送的電子郵件不會基於始發頁面發送?奇怪的郵件()行爲

我有兩個頁面,都發送完全相同的內容,在$result=mail($to, $subject, $message, $headers);,結果和參數是字節對於字節相等,具有相同的crc32()散列。

即使mail()在所有情況下都返回true,我們只收到其中一頁的電子郵件。檢查了所有文件夾,包括垃圾郵件和垃圾郵件。服務器端的技術支持人員表示他們在sendmail日誌中看到了他們,顯然他們正在外出。

我們正在設置From以確認工作電子郵件地址。沒有什麼反彈。也嘗試設置Return-Path只是爲了看,沒有。

還測試過只發送普通電子郵件,即不相同,結果仍然相同。來自一個頁面的電子郵件始終沒有收到,而來自另一個頁面的電子郵件則是。

我從來沒有見過這樣的事情。任何人都可以解釋一下這個問題嗎?

最新進展:

  • 現在的代碼是兩個頁面上相同;仍然只收到一封電子郵件!

  • 支持只是聳聳肩,說:「必須是文件名,嘗試不同的一個」

這是不是一個偉大的修復對於我們,因爲這意味着在應用程序分發站點取消批准的二進制,重新提交一個修改過的,然後等待審批過程。可能需要數週。

相反,我們正在做的是使用curl從具有「壞名字」的頁面調度到具有「好名字」的頁面!僅供參考,不好的名字顯然是ws.php

+1

也許他們在垃圾郵件中,或者反彈。只是一個提示總是遵循'幹'概念,圍繞郵件做一個包裝類,如果需要從多個頁面調用,如果它適用於一個,它適用於所有:) – georoot

+0

如果消息是相同的,不只是平等的, MUA可能會刪除它們以防止重複累積。在一封電子郵件中更改幾個字節,您可能會收到它。 – bishop

+0

@bishop - 問題首先出現在「常規」消息中,所以是從兩個頁面檢查了很多不同的,不同的,稍微不同的,最後相同的電子郵件。 –

回答

1

我們也看到了這種情況。我們追溯到管理員添加mail.add_x_header = Onphp.ini。我們發現這其實注入包含文件名到電子郵件幾個頭:

  • X-PHP原產腳本
  • X-EN-信息
  • X-EN-CGIPath

隨着今天的神經網絡自我教導自主過濾器,常見的文件名如ws.php可能與垃圾郵件相關聯。它並不在意爲什麼,只是玩的可能性。該過濾器可以在很多時候看到列表中的內容,並且您的電子郵件會突然跳出垃圾郵件過濾器。

我們可以選擇更改文件名,但我喜歡您使用curl重定向到安全頁面的方法!