我在使用PHP創建聯繫表單時遇到了無窮無盡的麻煩。PHP郵件功能無法正常工作
我首先嚐試了寫入數據的方法(如問題中所述:HTML Form Not Outputting To CSV File (Or Displaying Correct Error Messages)),現在我只是嘗試將自己的電子郵件中的信息發送給自己的方法。
這裏是我的jsfiddle:
下面是我寫的發送信息給自己的PHP(我知道這是不是很優雅的編碼,但我只是想要得到的東西先工作,然後我打算用陣列等):
我在這個例子中使用<?php
if (isset($_POST['brandname']) && isset($_POST['firstname']) && isset($_POST['lastname']) && isset($_POST['email']) && isset($_POST['website'])){
$brandname = $_POST['brandname'];
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$email = $_POST['email'];
$website = $_POST['website'];
if(!empty($brandname) && !empty($firstname) && !empty($lastname) && !empty($email)){
$to = '[email protected]';
$subject = 'Submission Form';
$body = $firstname;
$headers = 'From: '.$email;
if (@mail($to, $subject, $body, $headers)){
echo 'Yeah yeah';
}else{
echo 'yeah no.';
}
}else{
echo 'Please fill out all required fields.';
}
}
?>
電子郵件顯然不是我的電子郵件(我用我的代碼我真實的)。基本上會發生什麼是我填寫表單並點擊提交,它重新加載form.php頁面。我檢查了我的電子郵件,並沒有發生任何事情。如果我查看網站的源代碼,請選擇「是的」。顯示在代碼中(當它成功發送電子郵件時,它從哪裏迴應)。所以代碼似乎正常運行,但它不輸出任何東西。
我是否必須通過本地主機設置一些郵件服務器/功能?
我錯過了什麼?
如果您在本地工作(例如使用XAMPP),則需要在'php.ini'中設置sendmail的路徑以發送電子郵件。這可能會有所幫助:http://www.codingforums.com/archive/index.php/t-77553.html – Quasdunk 2012-01-07 19:34:56
您可以將錯誤轉爲警告或檢查日誌嗎? – mat 2012-01-07 19:36:32
我的php.ini已經有:[郵件功能] ;僅適用於Win32。 SMTP = localhost smtp_port = 25。這是我應該看的線? – MillerMedia 2012-01-07 19:38:45