首页 > 解决方案 > 将表单提交到同一个 PHP 文件时,未发送 HTML 电子邮件

问题描述

我正在处理一个消息表单,该表单在提交时将消息副本发送到电子邮件地址。form action当定向到不同的 php 文件时,它工作正常。但是,当我指示表单将自身提交到同一个文件时,表单在其中将消息发送到数据库但没有发送电子邮件。如果有人能告诉我为什么会这样,那就太好了。这是contact.php文件的代码:

        <div class="form-wrap">
            <form class="form-flex" action="contact.php" method="post">
                <label for="">Send us a message</label>
                <input type="text" name="name" type="text" placeholder="Name">
                <input type="text" name="email" type="text" placeholder="Email">
                <textarea name="message" id="message" placeholder="Message"></textarea>
                <button class="btn-big" name="submit" type="submit">Send</button>
                <?php
                    if(isset($_POST['submit'])) {
                        $name = $_POST['name'];
                        $email = $_POST['email'];
                        $message = $_POST['message'];

                        $connection = mysqli_connect('host', 'user', 'password', 'messages');

                        $name = mysqli_real_escape_string($connection, $name);
                        $email = mysqli_real_escape_string($connection, $email);
                        $message = mysqli_real_escape_string($connection, $message);

                        if($connection) {
                            $query = "INSERT INTO msg(name,email,message) ";
                            $query .= "VALUES ('$name','$email','$message')";

                            mysqli_query($connection, $query);

                            $email_subject = 'New Message';
                            $email_body = $message;
                            $to = 'myemail@gmail.com';
                            mail($to, $email_subject, $email_body);

                            echo "<p class='form'>Message sent!</p>";
                        } else {
                            die("<p class='form'>Database connection failed</p>");
                        }                   
                    } 
                ?>
            </form>
        </div>

标签: phphtmlemail

解决方案


推荐阅读