电子邮件中未收到PHP联系人表单

电子邮件中未收到PHP联系人表单,php,html,forms,contact,Php,Html,Forms,Contact,我知道有一些帖子已经发布了,我仔细阅读了它们,但是没有找到解决我问题的方法。PHP和HTML看起来不错,所以我不确定为什么我没有收到来自提交的联系人表单的任何电子邮件 以下是PHP: <?php $Fname = $_POST ['Fname']; $Lname = $_POST ['Lname']; $email = $_POST ['email']; $message = $_POST ['message']; $to = 'myName@mywebsite.com'; $subj

我知道有一些帖子已经发布了,我仔细阅读了它们,但是没有找到解决我问题的方法。PHP和HTML看起来不错,所以我不确定为什么我没有收到来自提交的联系人表单的任何电子邮件

以下是PHP:

<?php

$Fname = $_POST ['Fname'];
$Lname = $_POST ['Lname'];
$email = $_POST ['email'];
$message = $_POST ['message'];

$to = 'myName@mywebsite.com';
$subject = 'Contact From My Website';
$msg = " First Name: $Fname/n" .
"Last Name: $Lname/n" .
"Email: $email/n" .
"Message: $message";

mail ($to, $subject, $msg,"From: " . $Fname . $Lname);

$confirm = "Thank you for contacting us! Please allow 48 hours for a representative to respond. Click <a href='contact.php'>here</a> to return to the previous page.";

?>

下面是HTML表单代码:

<form id="form1" name="form1" method="post" action="send.php">
                <tr>
                    <label><td width="160px" class="labels">First Name:&nbsp;&nbsp;</td>
                        <td class="input"><input type="text" name="Fname" id="Fname"/></td>
                    </label>
                </tr>
                <tr>
                    <label><td class="labels">Last Name:&nbsp;&nbsp;</td>
                        <td class="input"><input type="text" name="Lname" id="Lname"/></td>
                    </label>
                </tr>
                <tr>    
                    <label><td class="labels">Email:&nbsp;&nbsp;</td>
                        <td class="input"><input type="email" name="email" id="email"/></td>
                    </label>
                </tr>
                <tr>    
                    <label><td class="labels">Message:&nbsp;&nbsp;</td>
                        <td class="input"><textarea name="message" id="message" cols="30" rows="5"></textarea></td>
                    </label>                                    
                </tr>
                <tr>                        
                    <td class="labels"><input type="submit" name="submit" id="submit" value="Submit"/></td>
                </tr>
            </form> 

名字:
姓氏:
电邮:
信息:
如果您有任何帮助,我们将不胜感激

$headers = "From:" . $Fname . $Lname;
并使用以下命令:

mail ($to, $subject, $msg, $headers);
“发件人”不应包括姓名,而应包括发件人电子邮件地址

<?php

if(isset($_POST['submit']))

$Fname = $_POST['Fname'];
$Lname = $_POST['Lname'];
$email = $_POST['email'];
$message = $_POST['message'];

$to = "email@example.com"; // <<< change this to your own E-mail address
$subject = "Contact From My Website";
$msg = "First Name: $Fname\n" . "Last Name: $Lname\n" . "Email: $email\n" . "Message: $message";

$headers = "From: $email" . "\r\n" .
"Reply-To: $email" . "\r\n" .
"X-Mailer: PHP/" . phpversion();

mail($to, $subject, $msg, $headers);

echo "Thank you for contacting us! Please allow 48 hours for a representative to respond. Click <a href='contact.php'>here</a> to return to the previous page.";

?>
因此,与其

"From: " . $Fname . $Lname
你应该做什么

"From: ". $myEmail
以下是来自的有效标题:

我猜帕根和弗雷德也因为这个答案而获得了荣誉,因为他们已经发布了显而易见的答案,但还没有做出答案

您还应该确保消息标签的id与$_POST['msg']匹配,因此您不应该在一个位置使用'msg',在另一个位置使用'message'

仅供参考:跳过函数名和参数参数之间的空格“”。i、 e

$_POST ['stuff'];
编辑: 有很多错误。 不正确地使用
\n
mail()
标题,并试图
在结尾回显成功消息

这是一个经过测试并能正常工作的邮件处理程序脚本。

注意:我添加了一个
if{isset
条件

更改<代码>email@example.com
使用您自己的电子邮件地址

<?php

if(isset($_POST['submit']))

$Fname = $_POST['Fname'];
$Lname = $_POST['Lname'];
$email = $_POST['email'];
$message = $_POST['message'];

$to = "email@example.com"; // <<< change this to your own E-mail address
$subject = "Contact From My Website";
$msg = "First Name: $Fname\n" . "Last Name: $Lname\n" . "Email: $email\n" . "Message: $message";

$headers = "From: $email" . "\r\n" .
"Reply-To: $email" . "\r\n" .
"X-Mailer: PHP/" . phpversion();

mail($to, $subject, $msg, $headers);

echo "Thank you for contacting us! Please allow 48 hours for a representative to respond. Click <a href='contact.php'>here</a> to return to the previous page.";

?>



补充 请访问以下站点,阅读
mail()
函数及其标题的正确使用:

那一页上有很多例子

一个主要错误是使用
/n
,如果有任何问题,都需要更改为
\n


仅此一点就将最终使处理程序失败。首先,我怀疑你的邮件头。你的发件人头不应该包括电子邮件地址吗?你有权访问smtp服务器吗ogs?@PugganSe这就是我怀疑OP标题的原因。请阅读
mail()
函数及其正确使用