我目前正在开发一个使用PHP向电子邮件发送邮件的HTML表单。我在MAMP中测试,点击“发送消息”后无法得到响应。任何建议都将不胜感激。
HTML
<form action="mail.php" method="POST">
<div class="row half">
<div class="6u">
<input type="text" class="text" name="name" placeholder="Name" />
</div>
<div class="6u">
<input type="text" class="text" name="email" placeholder="Email" />
</div>
</div>
<div class="row half">
<div class="12u">
<textarea name="message" placeholder="Message" rows="6" cols="25"></textarea>
<br />
</div>
</div>
<div class="row">
<div class="12u">
<ul class="actions">
<li class="button form" input type="submit" value="Submit">Send Message</li>
</ul>
</div>
</div>
</form>
PHP
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$formcontent="From: $name \n Message: $message";
$to = 'my@email.com';
$subject = "Contact Form";
$mailheader = "From: $email \r\n";
$send_message=mail($to, $subject, $formcontent, $mailheader);
if($send_message){
echo "thank you"
} else {
echo "error";
}
?>
由于
答案 0 :(得分:5)
在你的代码中发现了一些错误
纠正这个:
<li class="button form" input type="submit" value="Submit">Send Message</li>
到
<li class="button form"> <input type="submit" value="Submit">Send Message</li>
纠正这个:
echo "thank you"
到echo "thank you";
答案 1 :(得分:0)
您是否在本地服务器中查看此内容? php mail()函数可能无法在本地服务器上运行。在一些在线服务器上检查它(在纠正@Ashish提到的错误之后)。
答案 2 :(得分:0)
<强> HTML 强>
<form action="mail.php" method="POST">
<div class="row half">
<div class="6u">
<input type="text" class="text" name="name" placeholder="Name" />
</div>
<div class="6u">
<input type="text" class="text" name="email" placeholder="Email" />
</div>
</div>
<div class="row half">
<div class="12u">
<textarea name="message" placeholder="Message" rows="6" cols="25"></textarea>
<br />
</div>
</div>
<div class="row">
<div class="12u">
<ul class="actions">
<li class="button form"> <input type="submit" value="Submit" name="sendmessage"/>Send Message</li> // Use name attribute
</ul>
</div>
</div>
*使用名称属性*
<强> PHP 强>
<?php
if($_POST['sendmessage']!="")
{
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$formcontent="From: $name \n Message: $message";
$to = 'my@email.com';
$subject = "Contact Form";
$mailheader = "From: $email \r\n";
$send_message=mail($to, $subject, $formcontent, $mailheader);
if($send_message){
echo "thank you";
} else {
echo "error"; }
}
?>
试试此代码。