2016-01-22 127 views
0

我已經在本地主機中設置了電子郵件發送,並使用它可以訪問我的gmail帳戶以使用php腳本發送郵件。未在郵件中顯示HTML內容

<?php 

$to = "[email protected]"; 
$subject = "HTML Mail"; 
$message = "<html><body>"; 
$message .= "<b>Hey! How are you today?</b>"; 
$message .= "<br>Regards"; 
$message .= "</body></html>"; 

$headers = "From: [email protected]\r\n"; 


mail($to,$subject,$message,$headers); 
echo "<h1>MAIL SENT</h1>"; 
?> 

當我把使用這個腳本了該郵件,它給出了

<html><body><b>Hey! How are you today?</b><br>Regards</body></html> 

爲什麼不顯示HTML類型的輸出?

嘿!你今天好嗎?
Regards

像這樣在Gmail嗎?

回答

1

從郵件()的PHP文件:

// To send HTML mail, the Content-type header must be set 
$headers .= 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

如果這些報頭丟失,郵件內容被解釋爲純文本。

+0

是它的工作:d –

2

難道是你缺少標題來指定這是HTML內容?

$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; 
$headers .= "MIME-Version: 1.0\r\n"; 

編輯:正如另一個答案所指出的,兩個標題都是必需的。

1

嗨發送電子郵件與HTML正文您需要指定標題。事情是這樣的

//your code <br> 
$headers = "From: [email protected]\r\n"; <br> 
//HTML headers <br> 
$headers .= 'MIME-Version: 1.0' . "\r\n"; <br> 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

所以以後你可以用HTML身體

mail($to,$subject,$message,$headers); 

好運發送電子郵件