0

我知道有成千上万种使用 PHP mail() 函数的方法,但我对 PHP 还很陌生,可以使用一些指针来让我朝着正确的方向前进。我在我的 WordPress 驱动网站中写入了一个 PHP 邮件功能,它通过电子邮件发送除消息字段之外的所有信息(姓名、电子邮件和电话)。我已经对这里以及每个 PHP 相关站点进行了研究,但我更愿意了解我的具体问题,以便更好地理解我在写什么。所以说......这是代码:

<?php

function spamcheck($field)
  {
  $field=filter_var($field, FILTER_SANITIZE_EMAIL);

  if(filter_var($field, FILTER_VALIDATE_EMAIL))
    {
        return TRUE;
    }
  else
    {
        return FALSE;
    }
  }

if (isset($_POST['email']))
  {

  $mailcheck = spamcheck($_POST['email']);
  if ($mailcheck==FALSE)
    {
        $submit_message = "Please input your information again.";
    }
  else
    {
        $name = $_POST['name'];
        $email = $_POST['email'];
        $phone = $_POST['phone'];
        $message = $_POST['message'];

    mail("emailaddress@gmail.com", "From: $name", "Email: $email", "Phone Number: $phone", "Message: $message");

    $submit_message = "Thank you for your message";
    }
  }
?>

和HTML...

<form name="message-me" id="contact-form" action="<?php echo $_SERVER['REQUEST_URI']; ?>" method="POST" enctype="multipart/form-data">
                <div class="field-group">
                    <label>Name:</label><input type="text" name="name" id="form_name" />
                </div>
                <div class="field-group">
                    <label>Email:</label><input type="text" name="email" id="form_email" />
                </div>
                <div class="field-group">
                    <label>Phone:</label><input type="text" name="phone" id="form_phone" />
                </div>
                <div class="field-group">
                    <label>Message:</label><textarea rows="4" cols="31" name="message" id="form_message"></textarea>
                </div>
                <div class="field-group">
                    <input type="image" src="<?php bloginfo('template_directory'); ?>/images/Send-Message-Arrow.png" width="90" height="72" class="form-button" />
                </div>
            </form>

任何信息将不胜感激。正如我所提到的,我仍在学习 PHP,我真的很想了解我在写什么——而不仅仅是一直盲目地复制和粘贴代码。谢谢!

4

3 回答 3

1

要配置您的 SMTP,首先检查一下,然后

//Header Information for mail
$headers = "YOUR HEADERS INFORMATION HERE";
$msg="Email: $email<br/>Phone Number: $phone<br/>Message: $message";
mail("emailaddress@example.com", $subject, $msg, $headers);
于 2013-03-18T05:29:00.950 回答
0

请阅读本手册及其上的指令和示例,您将很好地理解您在做什么。只需花点时间阅读和理解好,然后从那时开始问你的问题。现在,您似乎甚至不了解 PHP mail() 的工作原理。阅读然后再回来,这样您就会了解向您指出的任何解决方案,并且您不会只是复制和粘贴解决方案而明天无法解决。

http://php.net/manual/en/function.mail.php

于 2013-03-18T04:29:52.373 回答
0

请查看文档

您需要提供参数为

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

在这里,您提供了正确的“收件人”电子邮件地址。

所以这可能会帮助你:

$message = $_POST['message'];

//Give mail a subject
$subject = "YOUR SUBJECT HERE";

//Header Information for mail
$headers = "YOUR HEADERS INFORMATION HERE";

mail("emailaddress@gmail.com", $subject, $message, $headers);

$submit_message = "Thank you for your message";

享受!

于 2013-03-18T04:37:37.893 回答