PHP电子邮件表单不起作用

时间:2014-03-07 15:53:26

标签: php html forms email

我无法设置此电子邮件表单正常工作

我有这个contact.html:

<form mehtod="post" action="contact.php">
<hr />

<div class="row">
    <div class="large-12 columns">
    <label>Name
        <input type="text" name="cf_name" placeholder="Name" />
    </label>
</div>
</div>

<div class="row">
    <div class="large-12 columns">
        <label>Email
    <input type="text" name="cf_email" placeholder="Email" />
    </label>
</div>
</div>

<div class="row">
<div class="large-12 columns">
    <label>Your message
    <textarea name="cf_message" placeholder="Your message"></textarea>
    </label>
</div>
</div>

<input class="button" type="reset" value="Clear">
<input class="button success expand" type="submit" value="Submit">

</form>

这个contact.php:

<?php
$field_name = $_POST['cf_name'];
$field_email = $_POST['cf_email'];
$field_message = $_POST['cf_message'];

$mail_to = 'my@email.com';
$subject = 'Personal Website Message from '.$field_name;

$body_message = 'From: '.$field_name."\n";
$body_message .= 'E-mail: '.$field_email."\n";
$body_message .= 'Message: '.$field_message;

$headers = 'From: '.$field_email."\r\n";
$headers .= 'Reply-To: '.$field_email."\r\n";

$mail_status = mail($mail_to, $subject, $body_message, $headers);

if ($mail_status) { ?>
<script language="javascript" type="text/javascript">
    alert('Thank you for the message. I will contact you shortly.');
    window.location = 'contact.html';
</script>
<?php
}
else { ?>
<script language="javascript" type="text/javascript">
    alert('Message failed. There is a problem with your message, if keep aving trouble         click on the Email me button above.');
    window.location = 'contact.html';
</script>
<?php
}
?>

但是当我上传并测试它时,没有任何内容发送到我的电子邮件,为什么?对我来说,一切似乎都是正确的......

2 个答案:

答案 0 :(得分:0)

您的邮件客户端可能不允许未经授权发送电子邮件。不幸的是,PHP的邮件功能不支持用户名+密码授权,因此您必须寻找第三方扩展。

答案 1 :(得分:0)

请检查您方法的拼写&#39;表单元素中的属性。

您提供的PHP代码将$ _POST指定为包含与表单相关的数据的变量。

您的拼写错误会导致服务器使用默认设置&#39; get&#39;发布数据的方法(供参考,参见here

将开头标记更正为以下内容可解决问题:

<form method="post" action="contact.php">