2012-04-30 41 views
0

嗨親愛的,這是我的代碼發送電子郵件 我的消息的代碼是這樣爲什麼當我發送電子郵件時,我的html代碼也顯示?

$to = $email; 
$subject = "Activation"; 
$message = "Your activation key is this " .$key.'<br>'.' click here to activate your acount. <a href="activation.php?key='.$key.'">here</a>'; 
$from = "[email protected]"; 
$headers = "From:" . $from; 
if(mail($to,$subject,$message,$headers)) 
{ 
    echo "Check your email to activate your acount."; 
} 

問題是這樣的,當我發送郵件在我的收件箱與代碼中顯示的全部內容。爲什麼它不顯示「點擊」作爲一個anchore .....

回答

2

郵件默認情況下不是HTML格式,所以它發送純文本。請參閱Example #4 on the PHP page for mail()發送HTML電子郵件。您需要指定郵件標題的內容類型:

$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

請注意在此處使用的.=運算符。您將附加這與您現有的$headers值相關聯。所以,你還需要確保現有的頭被正確終止:

$headers = "From:" . $from . "\r\n"; 
+0

感謝回答我,但現在另一個問題是這個郵件已發送,但「點擊這裏」鏈接不可點擊,請幫助我 – Symfony

+0

@RiazKhan:電子郵件中呈現的HTML是什麼?錨標籤是否以某種方式破裂? – David

+0

@RiazKhan:根據您在「答案」中發佈的信息(這應該是對問題的修改),您的定位標記基本上被打破。所有的標籤引用都是'activation.php'。但是,在電子郵件(不是網站)的情況下,該鏈接沒有意義。您需要將其設置爲完全限定的URL,以便客戶端(瀏覽器,電子郵件客戶端等)知道向用戶發送信息的位置。 – David

0

因爲你必須定義您的電子郵件作爲HTML的標題。

http://www.w3schools.com/php/func_mail_mail.asp

+0

感謝回答我,但現在另一個問題是這個郵件已發送,但「點擊這裏」鏈接是不可點擊請幫助我 – Symfony

+0

你能詳細說明嗎?一個鏈接到另一個網站(特別是一個已知的不好的網站,如w3schools)本身並不真正被認爲是堆棧溢出的答案。 – David

+0

好吧,我會做得更好! :) –

1

你必須檢查下列事項: -

1>信息內容正確它已封閉與倒逗號,無論是「或」
2>檢查你的頭和額外的頭信息。 (。)與操作者或沒有正確級聯 大多數時間問題的到達第二殼體

$標題= '到:ABC,BCD' 爲 「\ r \ n」 個;。。$ headers。='From:xyz'。爲 「\ r \ n」 個;

相關問題