2015-10-06 150 views
0

這是在LAMP服務器上。PHP郵件中的換行符(): n,\ n和 r n不工作

我在網上找到的所有答案都表明上面的其中一個應該可以工作,但我無法得到它的工作。

我的代碼是:

$to  = $email_to; 
$subject = 'Website Form'; 
$message = 'From: ' . $name . 

' \r\n Date: ' . $date . 

' \r\nText: ' . $text . 

'\r\n Use on Presentations?: ' . $presentations . 

'\r\n Use on Websites?: ' . $website . 

'\r\n Use on Case Studies?: ' . $casestudy; 

$headers = 'From: [email protected]' . "\r\n" . 
    'Reply-To: [email protected]' . "\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 

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

會有人知道我做了什麼錯?

+0

不能用於標題或消息? –

回答

1

您使用單引號,如果你想使用\ n或\ r你必須把它們用雙引號,如:

$value = "here is some text, and a $variable, and a line end\r\n"; 

我做了很多的PHP郵件的東西,\ r \ n必須在「...」或它不是作爲一個逃脫的字符執行,而是作爲一個文字。

即:

echo ".\n."; 
# is this: 
. 
. 
#but 
echo '.\n'.; 
#is this: 
.\n. 

僅此而已。

0

爲此,您可以設置標題,如$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";,然後用戶<br />代替\n

0

你爲什麼要使用\r\n,使用<BR>

$message = 'From: ' . $name . 

' <BR> Date: ' . $date . 

' <BR>Text: ' . $text . 

' <BR>Use on Presentations?: ' . $presentations . 

' <BR>Use on Websites?: ' . $website . 

' <BR>Use on Case Studies?: ' . $casestudy;