2017-07-03 173 views
0

我用下面的腳本創建了一個網絡論壇。我能夠收到來自我的網站的查詢;但是,訪客的電子郵件地址並未顯示在網站管理員發送的電子郵件中。我想在這裏得到一些指導來解決這個問題。論壇電子郵件地址顯示問題

這裏是我的PHP腳本:

<?php $name = $_POST['name']; 
$email = $_POST['email']; 
$message = $_POST['message']; 
$formcontent="From: $name \n Message: $message"; 
$recipient = "[email protected]"; 
$subject = "Contact Form"; 
mail($recipient, $subject, $formcontent) or die("Error!"); 
echo "Thank You!"; 
?> 

以下是我從網站管理員有: 來源:XX 消息:XX

由網站管理員發送的電子郵件沒有列出的電子郵件地址。

我在網上找到了一些類似的腳本與另外兩行:

$mailheader = "From: $email \r\n"; 
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!"); 

這實際上給我一個錯誤輸出。

我該如何解決這個問題?

謝謝!

回答

0

您可以爲郵件功能添加標題。

$name = $_POST['name']; 
$email = $_POST['email']; 
$message = $_POST['message']; 
$formcontent="From: $name \n Message: $message"; 
$recipient = "[email protected]"; 
$subject = "Contact Form"; 

$headers = "MIME-Version: 1.0" . "\r\n"; 
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n"; 
$headers .= "From: <$email>" . "\r\n"; 

mail($recipient, $subject, $formcontent, $headers); 

僅供參考 - 我會santize並以這種方式

+0

感謝您的幫助。我仍然收到錯誤消息。調查沒有通過。 – LucyH

0

mail()第三個參數就是信息,它已保存爲$message的實際身體使用它們之前驗證所有的POST值。 第四個變量是您定義標題的位置,並且您可以在其中定義消息的人是From。請注意,您實際上並不需要將郵件作爲標題傳遞,因此,您的變量$formcontent不應包含您的From:標題。但是,您提供需要提供回車後"\r\n"提供的電子郵件地址。

修改後的代碼應該是這樣的:

<?php 
$name = $_POST['name']; 
$email = $_POST['email']; 
$message = $_POST['message']; 
$formcontent = "From: $name" . "\r\n"; 
$recipient = "[email protected]"; 
$subject = "Contact Form"; 
mail($recipient, $subject, $message, $formcontent) or die("Error!"); 
echo "Thank You!"; 
?> 

希望這有助於! :)

+0

嗨,我複製並粘貼你的代碼。我仍然收到錯誤消息。調查沒有通過。 – LucyH