2012-12-23 109 views
1

我在問這個問題只是因爲我很好奇,可能它是一個非常愚蠢和非常知名的事情,但我無法在網上找到答案:如何防止phpmailer用不同的「發件人」地址發送電子郵件?

今天我在幫他的網站朋友。他讓我準備一個可以通過他的網站(例如www.myfriendswebsite.com)和phpmailer發送的html電子郵件模板。我準備並在我的域名/服務器上進行了測試,將他的電子郵件地址(例如[email protected])放在「from」部分。我通過我的網站(例如www.mywebsite.com)發送了一封電子郵件到我的個人電子郵件地址(例如[email protected]),當我收到電子郵件時,我意識到我甚至沒有看到我的域名姓名或電子郵件地址(例如[email protected]);相反,我看到我朋友的電子郵件地址([email protected])。當我點擊「回覆」時,回覆我朋友的地址;它看起來像是從我朋友的網站直接發送的。當然;如果我提取原始來源,我會看到收到電子郵件的詳細信息,但是阻止其他人使用我的電子郵件地址和垃圾郵件人員?我很確定這是垃圾郵件和黑客入侵的另一種方式,但有什麼辦法可以防止這種情況?它嚇了我一下,我不知道還有什麼可以轉,但Stackoverflow :)

+0

請分享您使用的相關的PHP代碼,以便我們可以指出您錯誤的位置。 – saji89

回答

6

其中之一,你不應該發送電子郵件,From:由用戶提供的數據填充;出於此目的使用Reply-To:標題。

您不應該這樣做的原因是因爲收件箱服務(例如Google Mail,Yahoo等)使用Sender Policy Framework (SPF)來確定發送該郵件的郵件服務器是否有權代表該域發送郵件;您將冒着從您的服務器發送的消息被識別爲垃圾郵件而無法發送。

因此,要回答你的問題,儘管有可能僞裝成任何人的電子郵件地址,它變得越來越難以得到應有改善垃圾郵件過濾器和black lists傳遞這些信息,而這樣做甚至可以讓你的郵件服務器被列入黑名單。

+0

這並不完全回答我的問題,但你給了我很好的信息,因此我接受它作爲答案。謝謝! –

1

編輯你的頭像這樣會/應該解決這個問題。

$headers = 'From: [email protected]' . "\r\n"; 
$headers .= 'Reply-To: [email protected]' . "\r\n"; 
$headers .= 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
+0

PHPMailer不以這種方式執行標題。這個具體的例子不會有幫助。 – Charles

+0

$ mail-> From =「[email protected]」; $ mail-> FromName =「MyFriend.com」; $ mail-> Subject = $ subject; $ mail-> Body = $ body; $ mail-> AddAddress($ recipient,$ recipient_name); $ mail-> AddReplyTo($ replyto,「[email protected]」); –

2

是什麼阻止他人使用我的E-mail地址和垃圾郵件的人嗎?

什麼都沒有。想象一張明信片,是什麼阻止別人使用你的地址並將明信片發送到世界上?沒有。

同樣是電子郵件,互聯網的明信片。

相關問題