2011-11-04 57 views
0

我創建了一個表格,寫一個PHP腳本發送郵件後,點擊提交按鈕後,發送郵件,並顯示一個感謝消息。 「謝謝」信息被放入另一個HTML頁面。對於發送郵件寫我的PHP腳本不工作

我把那些WWW文件夾中的WAMP服務器和嘗試。顯示「謝謝」頁面,但郵件未發送到我的郵件帳戶。

爲什麼不發送我的郵件?是否有必要主辦網站來做到這一點?

這是我使用的代碼:

<?php 
$email_from = '[email protected]'; 
$email_subject = "Arrange new Safari service"; 
$email_body = "You have received a new message from $name.\n" 
$to = "[email protected]"; 
$headers = "From: $email_from \r\n"; 
$headers .= "Reply-To: $visitor_email \r\n"; 
mail($to,$email_subject,$email_body,$headers); 
header('Location: thanking.html'); 
?> 
+0

你是什麼操作系統? – Simone

+1

這相當於問機械師爲什麼你的車不起作用,沒有向他顯示汽車。請提供更多細節! – Clive

+0

你是從localhost做這個嗎?發佈相關代碼...這將有所幫助.. –

回答

0

似乎有在您所提供的代碼中的一些語法錯誤:

$email_from = '[email protected]'; 
$email_subject = "Arrange new Safari service"; 
$email_body = "You have received a new message from $name.\n"; 
$to = "[email protected]"; 
$headers = "From: $email_from \r\n"; 
$headers .= "Reply-To: $visitor_email \r\n"; 
mail($to,$email_subject,$email_body,$headers); 
header('Location: thanking.html'); 

我試圖修復t他上面的語法。

1

如果您使用PHP的mail()函數,你需要一個SMTP服務器。對,那可能會在你的主機上運行。

您也可以使用像http://swiftmailer.org/一個librairy得到它更容易(你將能夠使用遠程SMTP服務器不痛)

0

您需要配置PHP,以便發送SMTP電子郵件使用工作SMTP服務。

基本上,它看起來,你的PHP實例的SMTP配置使用默認值,爲localhost這點。但是您的本地計算機似乎沒有運行SMTP服務。所以你需要指出的是運行一個的服務器,以及允許應用程序使用的服務器。

你必須有一個有效的SMTP服務器和電子郵件地址來配置你的php.ini。

檢查本文http://www.sitepoint.com/advanced-email-php/