首页 > 解决方案 > 发送电子邮件的警报消息未显示

问题描述

在通过单击发送消息按钮发送电子邮件时,应显示一个警告框,但它既没有显示查询发送成功,也没有显示电子邮件未发送,我不知道我哪里出错了。请帮我解决这个问题。任何帮助都将是非常可观的。我附上我的contact.php 代码和mail.php 代码的一部分。谢谢你

联系人.php

<form id="contact-form" method="POST" action="mail.php">
                    <div class="row">
                        <div class="col-md-4">
                            <div class="form-group">
                                <label>Name</label>
                                <input class="form-control" name="name" id="name" placeholder="" type="text" required>
                            </div>
                        </div>
                        <div class="col-md-4">
                            <div class="form-group">
                                <label>Email</label>
                                <input class="form-control" name="email" id="email" placeholder="" type="email" required>
                            </div>
                        </div>
                        <div class="col-md-4">
                            <div class="form-group">
                                <label>Subject</label>
                                <input class="form-control" name="subject" id="subject" placeholder="" required>
                            </div>
                        </div>
                    </div>
                    <div class="form-group">
                        <label>Message</label>
                        <textarea class="form-control" name="message" id="message" placeholder="" rows="10" required></textarea>
                    </div>
                    <div class="text-right"><br>
                    
                        <button class="btn btn-primary solid blank button"  id="btn" type="submit" value="submit" name="submit">Send Message</button>
                    
                    </div>
    
                </form>

邮件.php

<?php
if (isset($_POST['submit'])){

$to = "contact@imatrixautomation.com";
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$message .="\r\n from: $email";


if(mail ($to, $subject, $name,  $message)){
    echo "<script>alert('Enquiry sent successfully!');</script>";
   
}
    else
    {
    echo "<script>alert('Mail was not sent. Please try again later');</script>";
    }
}


header('Location: https://imatrixautomation.com/contact.php');
exit;

?>

标签: phphtmlemailphpmailer

解决方案


在contact.php 文件中

提交按钮缺少name="submit" 。

这一行应该是:

<button class="btn btn-primary solid blank button"  id="btn" type="submit" name="submit" value="submit">Send Message</button>
                

解释:目前

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

由于 POST['submit'] 为空,因此始终评估为 FALSE,因此它在 header() 处继续...

################

试试这个代码作为 mail.php 并告诉我们发生了什么;-)

<?php
if (isset($_POST['submit'])){
    
    echo "submit is set to {$_POST['submit']} and now we send the email<br>";

$to = "contact@imatrixautomation.com"; 
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$message .="\r\n from: $email";


if(mail ($to, $subject, $name,  $message)){
    echo "Enquiry sent successfully!<br>";
   
}
    else
    {
    echo "Mail was not sent. Please try again later<br>";
    }
} else{

echo"submit is not set<br>"; 
}

echo "after the if condition";


exit;

?> 

在这里我有新的contact.php文件-只需复制粘贴即可

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Unbenanntes Dokument</title>
</head>

<body>
    
<form id="contact-form" method="POST" action="mail.php">
                    <div class="row">
                        <div class="col-md-4">
                            <div class="form-group">
                                <label>Name</label>
                                <input class="form-control" name="name" id="name" placeholder="" type="text" required>
                            </div>
                        </div>
                        <div class="col-md-4">
                            <div class="form-group">
                                <label>Email</label>
                                <input class="form-control" name="email" id="email" placeholder="" type="email" required>
                            </div>
                        </div>
                        <div class="col-md-4">
                            <div class="form-group">
                                <label>Subject</label>
                                <input class="form-control" name="subject" id="subject" placeholder="" required>
                            </div>
                        </div>
                    </div>
                    <div class="form-group">
                        <label>Message</label>
                        <textarea class="form-control" name="message" id="message" placeholder="" rows="10" required></textarea>
                    </div>
                    <div class="text-right"><br>
                    
                        <button class="btn btn-primary solid blank button"  id="btn" type="submit" name ="submit" value="submit">Send Message</button>
                    
                    </div>
    
                </form>    
    
</body>
</html>

推荐阅读