发送电子邮件与表格
问题描述:
我想与PHP做一个联系表格。不应该这个代码工作,或者我监督什么?这有点基本,但我只是试图让它工作。发送电子邮件与表格
<div>
<p id="feedback"><?php echo $feedback;?></p>
<form action="?" method="post">
<ul>
<li>
<label for="name">Name:</label>
<input type="text" name="name" id="name">
</li>
<li>
<label for="email">Email:</label>
<input type="text" name="email" id="email">
</li>
<li>
<label for="message">Message:</label>
<textarea id="message" name="message" cols="42" rows="9"></textarea>
</li>
<li>
<input type="submit" value="Submit">
</li>
</ul>
</form>
</div>
<?php
$to = '[email protected]';
$subject = 'This came from the other world';
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$header = '$email';
if($_POST) {
mail($to, $subject, $message, $header);
$feedback = 'Your Message has been send';
}
?>
答
更改此
<input type="submit" value="Submit" name="submit"> # add name field
在你的邮件代码
if (isset($_POST['submit'])) {
$to = '[email protected]';
$subject = 'This came from the other world';
$name = $_POST['name'];
$email = $_POST['email'];
$msg = $_POST['message'];
$message = "Customer Name : ".$name\r\n;
$message .= "Customer Email : ".$email\r\n;
$message .= "Customer Message : ".$msg\r\n;
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
if (!mail($to, $subject, $message, $headers)) {
echo "Sending Failed";
}
else{
echo "Your Message has been send";
}
}
如果您在发送邮件的本地主机看一看这一
答
您的标题需要包含实际的电子邮件标题,您只需重复电子邮件地址即可。
例子:
$to = '[email protected]';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
的documentation on the mail()
function会告诉你为什么头和换行符是重要的,给你安全提示。
答
尝试读取这个http://php.net/manual/de/function.mail.php
我觉得你的问题是这样的代码行
$header = '$email';
你的头将字符串$电子邮件和$电子邮件VAR的不是值
非常感谢您的评论。当我尝试更改我的代码时,我得到一个服务器错误500.我实际上使用MAPP,因此我必须查看它。 – KrMa
@MadsKristensen主持项目并检查。那么你可以检查 –
好吧,我会做到这一点。我还没有域名,所以我会等待这个功能。我只在本地主机上运行它。再次感谢 :) – KrMa