1

我希望能够从我的主页发送邮件,但它不能按我的意愿工作。我收到一封邮件,但它没有说是从家里来的。只是说未知。我在两个不同的地方有这个。我使用其他文本区域的另一个地方,在那里我得到了邮件中的所有内容,它工作正常,但是我正在尝试工作的另一个地方我只希望他们在那里添加电子邮件,然后它应该与所有信息一起发送。

我页面上的代码:

<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";

?>
4

2 回答 2

3

两件事情:

  1. 尝试将 $headers 中的“\n”替换为“\r\n”。

  2. 据我所知,一些主机(例如,我认为 GoDaddy 或 Hostgator 会这样做)会覆盖已发送电子邮件中的“发件人”值并将其更改为您拥有的那个。这意味着,如果您的主机帐户中没有明确包含“from@domain.com”,您将无法从该地址发送电子邮件,并且它将始终被覆盖。你必须联系你的主人来检查这个。如果可能,我建议还检查另一台服务器上的脚本。

于 2012-08-23T18:38:07.597 回答
2

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

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

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

<input type="text" name="email" ... />
于 2012-08-24T00:41:49.513 回答