繁体   English   中英

在php中单击“提交”按钮后无法发送电子邮件

[英]Unable to send an email after clicking on submit button in php

尝试发送电子邮件时不显示任何错误消息或仅刷新该页面的内容。

我正在尝试通过联系表单发送电子邮件,但无法正常工作。 通过做回声尝试,但它不能正常工作。不显示任何错误。

联系人和联系方式:

<?php ob_start();
if(isset($_POST['submit'])) {   
$to = "abc@gmail.com";
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$txt = $_POST['comment'];
$headers = "From: " .$email . "\r\n" .
"CC: xyz@gmail.com";    
mail($to,$subject,$txt,$headers);   
header("Location: contact.php");    
}
?>
<!DOCTYPE html>
<html>
<head>
    <title>HMS System</title>       
</head>
<body>      
    <div class="container">         
                <div class="page-header">
                    <h2>Contact Us Form</h2>
                </div>
                <form class="form-horizontal" action="contactus.php" method="post" role="form">
                    <div class="form-group">
                        <label for="name" class="col-sm-2 control-label">Name</label>
                        <div class="col-sm-8">
                            <input type="text" class="form-control" name="name" placeholder="Insert your Name" id="name">
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="email" class="col-sm-2 control-label">Email Address</label>
                        <div class="col-sm-8">
                            <input type="email" class="form-control" name="email" placeholder="Email Address" id="email">
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="subject" class="col-sm-2 control-label">Subject</label>
                        <div class="col-sm-8">
                            <input type="text" class="form-control" name="subject" placeholder="Subject" id="subject">
                        </div>
                    </div>
                    <div class="form-group">
                        <label for="comments" class="col-sm-2 control-label">Comment</label>
                        <div class="col-sm-8">
                            <textarea class="form-control" rows="10" name="comment" style="resize:none;"></textarea>
                        </div>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-2 control-label"></label>
                        <div class="col-sm-8">
                            <input type="submit" value="Send Message" name="submit_contact" class="btn btn-block btn-danger" id="subject">
                        </div>
                    </div>
                </form>

            </section>

        </article>
    </div>
    <div style="width:50px;height:50px;"></div>

</body>

用这个

if(isset($_POST['submit_contact'])) 

如果您是通过本地服务器执行的,则必须在ini中正确设置邮件,然后只有您才能从本地计算机发送邮件。

更好的方法是将mail函数包装在语句中。 邮件返回bool值。 并开始尽可能简单。

error_reporting (E_ALL);

$to = "mail@whatever.com"
// ... your settings ...

if ( mail ( $to , $subject , $message ) ) {

    // do when ok

} 
else {  

    // do when error

}

要验证您是否从$_POST接收了所有值,请执行

echo '<pre>';
print_r ($_POST);
echo '</pre>';

暂无
暂无

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

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