繁体   English   中英

无法从我的php联系人表单获取电子邮件

[英]not getting emails from my php contact form

我有一个contact.html表单,该表单将字段提交给contact.php脚本; 但是,我的收件箱中没有收到电子邮件。 是,收件人:电子邮件地址正确。 这是表单网页的地址,这是contact.php的代码

<?php

    $my_email = "jlvazquez825@gmail.com";
    $final_msg = "";

    //validation function
    function validate($data) {
        $data = trim($data); //removing white space and tabs
        $data = stripslashes($data); //removing \
        $data = htmlspecialchars($data); //converting to html
        return $data;
    }

    if($_SERVER['REQUEST_METHOD'] == "POST") {
            $name = validate($_POST["name"]);
            $email = validate($_POST["email"]);
            $subject = validate($_POST["subject"]);
            $message = validate($_POST["message"]);

    }
    $final_msg += "name: " . $name . "\n" .
                 "email: " . $email . "\n" .
                 "subject: " . $subject . "\n" .
                 "message: ". $message;

    $headers = "From: miatech@sohotechnology.org \r\n" . "Reply-To: " . $email . "\r\n";

    if(mail($my_email, $subject, $final_msg, $headers)) {
        echo "<b>Your Message Was Successfuly Sent!... Thanks</b>" . "<br>";
        echo "<b>name: </b>" . $name . "<br>";
        echo "<b>email: </b>" . $email . "<br>";
        echo "<b>subject: </b>" . $subject . "<br>";
        echo "<b>message: </b>" . $message;
    }
    else {
        echo "<b>Your Message Could not be Sent!... Sorry</b>";
    }


?>

您使用错误的串联运算符。

字符串的正确值是.= ,而不是+=

$final_msg .= '...';

然后,如果表单已发送,则一切都应处于良好状态。 现在,您尝试每次加载脚本时都发送邮件,具体取决于(成功)发送表单的事实。

if($_SERVER['REQUEST_METHOD'] == "POST") {
    // sanitize form data, prepare $headers, $final_msg here
    if (mail(...)) {
        ...
    } else {
        ...
    }
}

条件应该是

if (filter_var($_POST['mail'], FILTER_VALIDATE_EMAIL) &&
    !empty($_POST['name']) && 
    !empty($_POST['subject']) &&
    !empty($_POST['message'])
) {
    //
} else {
    // incomplete form was sent, or data are incorrect
}

if($_SERVER['REQUEST_METHOD'] == "POST") {指令

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM