【问题标题】:PHP mail form won't send input to emailPHP邮件表单不会将输入发送到电子邮件
【发布时间】:2015-04-21 04:35:34
【问题描述】:

我有一个邮件表单,它不会将放置在文本区域中的输入提交给我插入的电子邮件。 我对 PHP 完全陌生。 这种形式过去对我有用。 我正在尝试从 freehostia.com 服务器运行表单,我有第一个宣传 SMTP 的升级计划。 这是我的 HTML:

<form action="contact.php" method="post">First name:
    <br>
        <input class="A" id="B" type="text" name="name" size="25">
    <br>
        E-mail:
    <br>
        <input class="A" id="A" type="text" name="email" size="35">
        <textarea id="A" name="message" rows="10" cols="50" placeholder="Please provide your information..."></textarea>
    <div>
        <input class="size" type="submit" value="Send!" />
    </div>
</form>

这是我的 PHP 内容:

<?php
    $field_name = $_POST['name'];
    $field_email = $_POST['email'];
    $field_message = $_POST['message'];
    $mail_to = 'XXXX@XX.com';
    $subject = 'MESSAGE FROM SITE VISITOR ' . $field_name;
    $body_message = 'From: '.$field_name."\n";
    $body_message .= 'E-mail: '.$field_email."\n";
    $body_message .= 'Message: '.$field_message;
    $headers = "From: $email\r\n";
    $headers .= "Reply-To: $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. We will contact you shortly.')
            window.location = 'index.html';
        </script>
<?php }
    else { ?>
        <script language="javascript" type="text/javascript">
            alert('Message failed. Please, send an email to XXXX@XX.com');
            window.location = 'contact.html';
        </script>
<?php } ?>

对我来说,一切似乎都已到位。我一辈子都想不通我在这里做错了什么。

【问题讨论】:

  • 嘿 $mail_to 一定是您从该字段中获得的值吧?这些 $email 变量是什么,我看不到它们在任何地方被声明或初始化。
  • 你的表单是正常提交​​的,还是通过ajax/JavaScript提交的?如果是后者,这可能是一个非独特的问题。
  • @Sean 在我看来就像普通提交一样。但是代码有很多错误和未声明的变量
  • 如果您可以添加您知道它不起作用的原因(例如任何明确的错误消息),这将有所帮助。你收到“谢谢”提醒了吗?还是“消息失败”警报?还是默默地失败了?
  • 它返回“消息失败”警报。

标签: javascript php html forms email


【解决方案1】:

你的“$email”变量在哪里,

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

它在哪里初始化?

【讨论】:

    【解决方案2】:

    访问这个网站:https://github.com/HouKun1230/Jquery-mobile-with-PHP-MYSQL 并查看 email.php,这是一个简单的电子邮件发送。它可能会帮助你。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-22
      • 2014-05-30
      • 1970-01-01
      • 2012-07-02
      • 1970-01-01
      • 2013-03-01
      • 2014-05-29
      相关资源
      最近更新 更多