PHP电子邮件表单不工作

PHP电子邮件表单不工作,php,html,forms,email,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"

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

我有这个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
}
?>

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

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

请检查表单元素中“method”属性的拼写

您提供的PHP代码将$\u POST指定为包含表单相关数据的变量

拼写错误导致服务器使用默认的“get”方法发布数据以供参考,请参阅

将开始标记更正为以下应该可以解决问题:

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

谁主持你的网站?许多免费的web主机不允许php邮件,但不会抛出错误消息。使用swift mailer或php mailer可以更好地处理错误。。如果没有工作,那么使用SMTP发送邮件这很奇怪,我从互联网上下载了这段php代码,附带了.html代码,它工作得很好,但在我将它与我的html代码关联后,它就停止工作了,是的,在我点击submit按钮之后,javascript代码会运行,所以这意味着电子邮件已经发送了…看看from属性。你为什么希望这能奏效?您不能从任何您想要的电子邮件地址发送电子邮件。您必须将从更改为电子邮件客户端,它实际上会让您这样做。例如,您可以使用Google的电子邮件地址作为主机:我使用的是来自php的mail函数,它应该在哪里有from属性?它在php的配置文件中:php.ini是php的新手,我应该有一个带有规范的php.ini文件吗?