2010-04-20 31 views
3

送出我們主辦每一個專用的服務器上有自己的專用IP三個領域。電子郵件從一個專用的服務器具有不同的IP

域A - 有服務器主IP地址(默認服務器IP)
域B - 擁有自己的IP地址
域C - 都有自己的IP地址

如果電子郵件從域熄滅B然後它使用傳出中的域A IP地址,這使得使用PHP的域B的電子郵件直接進入Gmail等垃圾郵件框。

有沒有任何方法可以根據電子郵件源自的位置PHP?我們應該改變什麼來解決這個問題?

+0

投票遷移到serverfault。 – 2010-04-20 08:18:20

回答

0

你不給你的服務器設置所以這不能真正回答任何細節。但是,PHP可以使用您喜歡的SMTP服務器。設置這個最簡單的方法是像PHPMailer這樣的工具。

如果您無法更改要發送的IP,則需要更改域B的MX record,使域A(或其IP)成爲該域的郵件服務器。我非常確定像Google郵件這樣的垃圾郵件過濾器只能查找MX記錄。當然,您必須同時在域A上具有電子郵件發送和接收功能才能使其正常工作。

0

PHP通常設置爲下降郵件到本地主機MTA,這將永遠把它從它自己綁定的IP地址。所以不行。

爲了減少被標記爲垃圾郵件的機會,因爲你的郵件來自不與DNS記錄佔用(MX或備用A)一個域,添加SPF record到DNS的所有域的地址說來自發送IP地址的郵件很好。

+0

我添加了域B IP地址的SPF記錄,但它仍然卡在gmail的垃圾郵件文件夾中! 所以你肯定是沒有辦法可以讓MTA取決於域挑源IP? – ToughPal 2010-04-20 08:33:22

+0

這將取決於MTA,無法從PHP中觸及它。但是我熟悉的MTA沒有這樣的功能。請注意,無論如何,您對DNS所做的更改都不會立即傳播到Internet的其他部分(包括GMail)。 – bobince 2010-04-20 08:47:51

1

這是無關的PHP。

不,你不能在你建議的方式欺騙​​地址 - 但郵件被歸類爲垃圾郵件的原因是因爲你只得到了主機A發佈的SPF。只需添加他人允許的發件人列表:

"v=spf1 a:hostA.example.com a:hostB.example.com a:hostC.example.com" 

C.

相關問題