我已經創建了發送到PHP腳本的電子郵件。PHP表單字段不會發送到電子郵件
當發送只有一個字段(消息字段)時,表單似乎工作正常,但一旦添加了其他字段,表單就不再通過電子郵件發送到收件箱(但表單仍然正確激活並重新路由到三江源就好了。)
這裏是我目前擁有的代碼,這不起作用
<?php
$email = $_REQUEST['email'] ;
$name = $_REQUEST['name'] ;
$services = $_REQUEST['services'] ;
$message = $_REQUEST['message'] ;
if (!isset($_REQUEST['email'])) {
header("Location: feedback.html");
}
elseif (empty($email) || empty($message)) {
header("Location: error.html");
}
else {
mail("[email protected]", "Message via your website!",
$name, $services, $message, "From: $email");
header("Location: thankyou.html");
}
?>
這是以前的代碼,這樣做的工作,但只顯示消息
<?php
$email = $_REQUEST['email'] ;
$message = $_REQUEST['message'] ;
if (!isset($_REQUEST['email'])) {
header("Location: feedback.html");
}
elseif (empty($email) || empty($message)) {
header("Location: error.html");
}
else {
mail("[email protected]", "Message via your website!",
$message, "From: $email");
header("Location: thankyou.html");
}
?>
這是窗體的HTML:
<form method="post" action="sendmail.php">
<label>Name:</label> <input name="name" type="text" /><br />
<label>Email:</label> <input name="email" type="text" /><br />
<label>What service do you require?:</label> <input name="services" type="text" /><br />
<label>Message:</label><br />
<textarea name="message" rows="15" cols="40">
</textarea><br />
<input type="submit" />
</form>
你應該淨化你的輸入http://stackoverflow.com/q/1055460/1607098 – Touki 2013-03-13 10:24:07
你給郵件()參數太多。你想要$ name,$ services和$ message都在消息體中嗎?如果是這樣,你需要像這樣的郵件(「[email protected]」,「通過你的網站發送消息!」,「$ name $ services $ message」,「From:$ email」);' – 2013-03-13 10:24:37
php mail functon在發送郵件後返回true或false。請檢查郵件功能返回什麼? – 2013-03-13 10:24:42