2016-02-12 84 views
0

新的論壇,並試圖在我的手一些編碼,以幫助一個朋友,誰不能似乎得到這個權利..換行HTML電子郵件

他這樣說,我本來具有的接觸形式問題在網站上無法發送電子郵件。經過在網上搜索一下,並在這裏和那裏添加幾個組件後,它終於工作,但現在我有一個額外的問題..

當電子郵件發送通過(這是一個商業網站,它發送電子郵件從這裏到相關銷售部門等)的所有塞進一條線,看起來可怕..

喜歡這個 -

「姓名:TEST的電子郵件WEBSITETel:011 937 0572Email: myemail @ zmail .comMessage:TEST PLEASE CONFIRM

測試38"

什麼,我一直沒能找到的是如何單獨的文本,以便它在一封電子郵件中談到通過作爲單獨的線像這個 -

名稱:客戶

電話:011 000 0000

電子郵件:[email protected]

消息:這裏的文字等

我已經將聯繫表單鏈接到一個.php文件,所以我會假定它是在這個文件中,需要發生的變化?我試圖添加<br /> & <div>,但除了給我一個錯誤消息,當我嘗試從網站發送表單時,都沒有做任何事情。

這裏是鏈接到該工程100%

<?php 

$EmailFrom = "[email protected]"; 
$EmailTo = "[email protected]"; 
$Subject = "Company Name - Online Enquiry"; 
$Name = Trim(stripslashes($_POST['Name'])); 
$Tel = Trim(stripslashes($_POST['Tel'])); 
$Email = Trim(stripslashes($_POST['Email'])); 
$Message = Trim(stripslashes($_POST['Message'])); 

// validation 
$validationOK=true; 
if (!$validationOK) { 
    print "There has been an error, please make sure you entered a correct email address."; // You can edit this to your own error message 
    exit; 
} 

// prepare email body text 
$Body = ""; 
$Body .= "Name: "; 
$Body .= $Name; 
$Body .= ""; 
$Body .= "Tel: "; 
$Body .= $Tel; 
$Body .= ""; 
$Body .= "Email: "; 
$Body .= $Email; 
$Body .= ""; 
$Body .= "Message: "; 
$Body .= $Message; 
$Body .= ""; 

// send email 
$success = mail($EmailTo, $Subject, $Body, $Headers = "From: <$EmailFrom\r\n"); 

// redirect to success page 
if ($success){ 
    print "Thank you, your email has been sent! We will be in touch shortly!"; // You can edit this to your own success message 
} 
else{ 
    print "There has been an error, please make sure you have entered your details correctly."; // You can edit this to your own error message 
} 
?> 

任何幫助,將不勝感激的聯繫方式爲contactgenie.php代碼,感謝 狄龍

+4

增加新的生產線空間,你可以簡單地使用新行字符(\ n)的。例如'$ Body。=「\ n」;' –

+1

@noushidp不!廣泛的錯誤。您不希望自動使用由執行代碼的任何系統所使用的行結尾,因爲電子郵件標準是靜態的,並且根據您更改電子郵件來自哪個系統,_not_會發生奇蹟般的變化。 – arkascha

+1

這實際上工作...我先嚐試其他評論中的一切,但沒有一個工作,我要麼從網站本身得到一個錯誤,要麼代碼只會在電子郵件本身結束。添加「\ n」並完美地工作,謝謝 – Dillon

回答

0

添加<br/>標籤添加新的行空間與你的變量這樣的

$Body = ""; 
$Body .= "Name: "; 
$Body .= $Name.'<br/>'; 

和其他任何地方你想添加新的行空間 爲此,您必須使用HTML格式 ,因爲有兩種類型的電子郵件html和richtext。也照顧那個。

+1

然後,他還應該包括''標記。請參閱http://stackoverflow.com/questions/11238953/send-html-in-email-via-php – Qirel

+0

格式化此類帶HTML開銷的消息絕對沒有意義。 _做什麼的_ ? – arkascha

+0

我試過
標籤,當我把它放入 – Dillon

0

不知道這是否工作,但如果它是HTML電子郵件,這應該工作。

$Body .= '<html><body>'; 
$Body .= "Name: "; 
$Body .= $Name; 
$Body .= "<br>"; 
$Body .= "Tel: "; 
$Body .= $Tel; 
$Body .= "<br>"; 
$Body .= "Email: "; 
$Body .= $Email; 
$Body .= "<br>"; 
$Body .= "Message: "; 
$Body .= wordwrap($Message, 50); 
$Body .= '</body></html>'; 

該消息可能或可能不起作用。不要把你的希望寄託在那一方。

+0

時,它出現了來自網站的錯誤信息。相同的評論適用於@ FahadAbdullah的答案... – arkascha

+0

正確。我們張貼在同一時間 – Andreas

+0

了這是一個嘗試,但它只是徒然增加了文本郵件 – Dillon

1

你可以使用雙引號內的標準換行符這樣的預格式郵件正文:

$Body = " 
    Name: {$Name} 
    Tel: {$Tel} 
    Email: {$Email} 
    Message: {$Message}"; 

爲了更好地實現雙行高你插入線之間的另一種回報:

$Body = " 
    Name: {$Name} 

    Tel: {$Tel} 

    Email: {$Email} 

    Message: {$Message}"; 
1

感謝您的幫助!我得到它的工作,我在代碼中添加了「\ n」,它完美地工作,我只是需要它來分離文本,以便從電子郵件通過網站時更容易閱讀,再次感謝我幫助我有了這個!

0

添加<br/>標籤與您的變量這樣

$Body = "Name : " $Name ."<br/>"; 
$Body .= "Tel : " $Tel  ."<br/>"; 
$Body .= "Email : " $Email ."<br/>"; 
$Body .= "Message: " $Message ."<br/>";