2011-04-15 256 views
2

客戶的網站地址是customerswebpage.com(當然不是真正的)。服務器本身的主機名配置爲server.customerswebpage.com,它沒有A或MX類型的DNS記錄。這會導致許多Web服務器拒絕來自該服務器的郵件。發送電子郵件時更改HELO主機名

是否有一個簡單和/或整潔的方式來改變服務器標識自己的HELO地址?該網站建立在Symfony框架版本1.0上,我們使用sfMail插件發送郵件。目前我唯一能想到的解決方案是獲取整個插件的副本並對其進行修改以適應我們的需求,因爲主機名僅在內部使用。

也許更重要的是,你認爲我們可以說這是DNS配置錯誤嗎?

回答

2

我認爲HELO需要在服務器的MTA中進行更改,而不是在php中。

http://www.sendmail.org/m4/whoami.html

你或許應該只是添加缺少的A和MX DNS記錄server.customerswebpage.com並不會改變HELO。

+0

感謝您的答案,這是我們最終做的。在爲域添加A記錄後,郵件開始通過甚至是最挑剔的服務器。 – Kaivosukeltaja 2011-05-01 15:34:41

1

郵件服務器可能真的很挑剔,並且絕不允許爲服務器添加合適的APTR記錄可以解決所有問題。對外發郵件使用外部smarthost(例如通過您的ISP或專用服務)通常是最簡單的,並讓他們擔心發送。

sfMail包基於PHPMailer的,並且該包存儲在$helo的HELO主機名。也許你可以重載sfMail phpMailer類並設置該變量?

+0

感謝您的回答!覆蓋phpMailer也需要覆蓋所有其他sfMail類,因爲工廠使用的類似乎是硬編碼的,並且使用的類是用switch-case塊選擇的。使用智能主機會很聰明(沒有雙關語意思),但設置一個會比這個項目的預算有點多。 – Kaivosukeltaja 2011-04-19 15:36:06

0

避免此問題的一種方法是使用sfMail和SMTP。所以你可以發送你的電子郵件與你的真正的郵件服務器,所以SPF和MX記錄是正確的。

+0

不幸的是,服務器似乎是我們唯一的選擇,即使客戶使用它來進行羣發郵件。這似乎也失敗了... – Kaivosukeltaja 2011-04-20 05:11:49