从主页发送邮件.我的代码中缺少什么


Send mail from homepage. What am I missing in my code?

我希望能够从主页发送邮件,但它不能按我的意愿工作。我收到一封邮件,但上面没有写在家里。只是说未知。我把这个放在两个不同的地方。在另一个地方,我使用其他文本区域,在那里我可以收到邮件中的所有内容,效果很好,但在我尝试工作的另一个位置,我只想让他们添加电子邮件,然后它应该与所有信息一起发送。

我页面上的代码:

<form id="subscribe" class="clearfix" method="post" action="get_mail.php">
    <div class="field alignleft">
       <input type="text" value="Enter your email" onclick="if(this.value=='Enter your email')this.value='';" onblur="if(this.value=='')this.value='Enter your email';" />
     </div>
     <div class="search-btn">
        <input type="submit" value="" />
     </div>
</form>

然后我有这个php脚本

<?php
    //-----------------------------------------------------
    //-----------------------------------------------------
    $address= "xxxxx.xxxxx@outlook.com";
    //-----------------------------------------------------
    //-----------------------------------------------------
    $name = $_REQUEST["name"];
    $email = $_REQUEST["email"];
    $website = $_REQUEST["website"];
    $subject .= "You have an email from your web site (from $name)! 'n'n";
    $message_content = strip_tags($_REQUEST["message"]);
    $headers = "From: $name <$email>'n";
    $headers .= "Reply-To: $subject <$email>'n";
    $message = "--$mime_boundary'n'n";
    $message .= "You have an email from your web site: 'n'n'n";
    $message .= "Name: $name 'n'n";
    $message .= "Email: $email 'n'n";
    $message .= "Website: $website 'n'n";
    $message .= "Message: $message_content 'n'n";
    $message .= "--$mime_boundary--'n'n";
    $mail_sent = mail($address, $subject, $message, $headers);
    echo $mail_sent ? "Success, mail sent!" : "Mail failed";
?>

两件事:

  1. 尝试将$headers中的"''n"替换为"''r''n"。

  2. 据我所知,一些主机(例如,我认为GoDaddy或Hostgator会这样做)会覆盖发送的电子邮件中的"from"值,并将其更改为您随身携带的值。这意味着,如果您没有明确地from@domain.com"在您的托管帐户中,您将无法从该地址发送电子邮件,并且它将始终被覆盖。您必须联系您的主机进行检查。如果可能,我建议您也在另一台服务器上检查脚本。

您的表单字段似乎都没有名称-您的代码在这里:

$name = $_REQUEST["name"];
$email = $_REQUEST["email"];
$website = $_REQUEST["website"];

需要名称为"名称"、"电子邮件"answers"网站"的表单字段。例如,您的"电子邮件"字段需要如下所示:

<input type="text" name="email" ... />