2011-11-23 57 views
13

當我發送郵件用PHP destinatary得到一個頭像這樣的:如何在使用PHP發送郵件時刪除「via」和服務器名稱?

[email protected] **via** de p3nlhg147.shr.prod.phx3.secureserver.net 

我想刪除「內經」的一部分。網站上的大多數自動郵件都沒有「via」,因此可以將其刪除。

他們是怎麼做到的?

+1

你不能,這是郵件服務器(S)不是PHP。 – 2011-11-23 01:43:21

+0

是的,你可以。請看下面的答案。 – richard

回答

19

是的,你可以擺脫「通過」部分。以下是詳細信息:

1) SPF and DKIM 

首先,你需要設置一個SPF記錄您從發送電子郵件域,使DKIM爲好。這些主要用於識別垃圾郵件。

2) "From: [email protected]" 

其次,確保您將「發件人:」標題設置爲您要發送郵件的域上的電子郵件地址。不要假裝是別人。如果您從abc.com發送消息,請使用「From:[email protected]」,而不是其他任何內容,例如[email protected][email protected]或其他。如果您希望收件人回覆您的Gmail電子郵件而不是域電子郵件,請使用「回覆:」標題。 「發件人:」必須始終是您要發送電子郵件的域電子郵件。

3) "Return-Path: [email protected]" 

第三,最重要的是,將「返回路徑:」頭是相同的域「從:」標頭。使用mail()函數的第五個參數用於此:

mail('[email protected]', 'Subject', "Message Body", $headers, '[email protected]') 

所以此消息的返回路徑將是「[email protected]」(電子郵件地址立即-f開關以下)。 $ headers參數應該包含所有必要的消息標題。確保「From:」是[email protected]

完成這些步驟和措施後,Gmail現在應完全信任yourdomain.com上的郵件。您消息的「via」字段應該消失,'郵寄'字段以及'signed-by'字段應該正確顯示爲yourdomain.com。

希望它有幫助!

+0

如果郵件服務器與站點服務器不同,這是否可行? –

+0

謝謝,它像魅力一樣...我只用了兩步,第二和第三..謝謝理查德... –

1

這可能是你的MTA添加的,你沒有說你正在使用哪個MTA。

我建議不要使用PHP的mail()函數發送郵件,但通過SMTP,甚至可能使用SMTP-Auth,使用類似PHPMailer的東西。

7

我也提到了同樣的問題。但我已經通過使用下面的代碼克服了這個問題:

mail('[email protected]', 'the subject', 'the message', null,'[email protected]'); 

確保最後一個參數是-f與電子郵件地址。

您可以在電子郵件中添加

$headers = "MIME-Version: 1.0\r\n"; 
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";<br /> 
mail('[email protected]', 'the subject', 'the message body in html format', $headers,'[email protected]'); 

的HTML郵件正文。

1

看看谷歌說,這個位置:http://support.google.com/mail/bin/answer.py?hl=en&ctx=mail&answer=1311182

所有最優秀的!

+2

而不是隻提供一個鏈接,你應該嘗試解釋這個問題的內容。 – Layke

+0

歡迎來到Stack Overflow!雖然這可能在理論上回答這個問題,[這將是更可取的](http://meta.stackexchange.com/q/8259)在這裏包括答案的重要部分,並提供供參考的鏈接。 – Adi

相關問題