一千萬個為什麽

搜索

編輯到bluehost的mail.php仍然是必要的嗎?

根據此主題,我一直在編輯/administrator /components/com_civicrm/civicrm/packages/Mail/mail.php 這樣解決郵件不發送問題:

// if (!empty($headers['Return-Path'])) {
//     $from = $headers['Return-Path'];
// }

自v4.4.4以來我一直這樣做,這有點麻煩。我們在Bluehost上,顯然不提供VERP (無論那是什麽)。我成功地在Bluehost上運行了幾十個Joomla站點並且無意移動。

有沒有人在這裏找到替代解決方案? Bluehost實際上是否提供VERP,我只是沒有找到它?

非常感謝。

最佳答案

所以VERP意味著發送的每封郵件的“技術”發件人(smtp信封)都不同。好處是,如果反彈回到這個唯一的地址,我們知道它是什麽電子郵件/聯系人(否則這是不可能的,因為無效的電子郵件可能隱藏在郵件轉發後面)

要使其工作,您需要托管服務提供商提供兩件事:

  1. 能夠將技術發件人設置為與電子郵件中的可見發件人不同
  2. 能夠收到VERP電子郵件(訣竅通常是讓電子郵件服務器能夠處理“+”表示法,所以[email protected]會收到發送給你的郵件+ [email protected],例如gmail提供,但不是交換服務器)

您註釋掉的代碼似乎隱藏了問題1.但它確實修復它。退回處理是否適用於您的網站?我懷疑civicrm不知道你的某些收件人有無效的電子郵件,並且沒有自動將它們標記為退回。您是否正在接受彈跳並手動完成?

無論如何,作為解決方案,擁有允許VERP的主機是最佳選擇,但另一個是開發/贊助不依賴於VERP而是依賴於其他電子郵件標頭的模式。我確實實現了第一部分,每封發送的電子郵件都包含額外的標題(X-CiviMail-Bounce),缺少的是第二部分:

  • 更改反彈處理器以使用此額外標題
  • 將郵件發送作業更改為僅設置標題但不設置VERP發件人
  • 添加設置以允許切換到“僅郵件標頭,無VERP”模式

您能夠為該代碼做出貢獻或贊助該開發嗎?

不幸的是,到目前為止,那些有能力實現這一目標的人發現更快,更便宜地切換到功能更齊全的主機而不是投資添加“僅頭”模式。

轉載註明原文: 編輯到bluehost的mail.php仍然是必要的嗎?