2011-05-30 65 views
0

我有這個腳本發送電子郵件給用戶在我的網站上激活他們的帳戶,它的工作正常我唯一的問題是它發送郵件的正文兩次,任何人都可以看到並解釋爲什麼?PHP發送郵件複製機構

$toemail = $_POST['produgg_email']; 
// Send activation email 
$to = $toemail; 
$subject = "Website Activation"; 
$headers = "From: [email protected]\r\n" . 
$body = "To activate your website.co.uk please click <a href='http://www.website.co.uk/activateuser.php?email=$toemail'>here</a>"; 

if (mail($to, $subject, $body, $headers)) { 
    echo("<p>Message successfully sent!</p>"); 
} else { 
    echo("<p>Message delivery failed...</p>"); 
} 
+0

您的意思是它發送了整個消息兩次,還是它在一個消息中複製了'$ body'文本? – 2011-05-30 13:19:13

+1

另外,請閱讀電子郵件注入攻擊。如果不經過驗證直接在'$ to'中使用'$ _POST ['produgg_email']',您的腳本就可以成爲垃圾郵件源。 http://www.phpsecure.info/v2/article/MailHeadersInject.en.php – 2011-05-30 13:22:39

+0

對不起邁克爾我發佈這個問題後不得不扼制,感謝有關SQL注入攻擊的信息。 – Liam 2011-05-30 14:57:13

回答

4

您已經粘貼了代碼?如果是這樣,你有一個點而不是一個;在第5行...

+0

好的。那一定是吧。 – 2011-05-30 13:21:19