PHP Mail()函数问题 - 未发送消息字段(WordPress)

时间:2013-03-18 04:22:18

标签: html function email php

我知道有成千上万的方法可以利用PHP mail()函数,但我对PHP很新,可以使用一些指针让我设置正确的方向。我有一个PHP邮件功能写入我的WordPress驱动网站,它通过电子邮件发送除消息字段以外的所有信息(姓名,电子邮件和电话)。我已经在这里以及每个与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,我真的很想理解我写的东西 - 而不仅仅是盲目地复制&amp;一直粘贴代码。谢谢!

3 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

请阅读本手册及其中的指令和示例,您就会明白自己在做什么。花点时间阅读并理解,然后从这一点开始问你的问题。现在,您似乎甚至不了解PHP mail()的工作原理。阅读然后回到原处,你会理解指出的任何解决方案,你不会只是复制并粘贴解决方案而不能明天解决。

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

答案 2 :(得分:0)

请查看Documentation

您需要提供参数

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

享受!