简体   繁体   English

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

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

Trying to send an email not displaying any error message or anything just refreshing the page that it. 尝试发送电子邮件时不显示任何错误消息或仅刷新该页面的内容。

I am trying an email through contact form but its not working.Here is the code for that. 我正在尝试通过联系表单发送电子邮件,但无法正常工作。 tried by doing echo but it is not working .not displaying any error as well. 通过做回声尝试,但它不能正常工作。不显示任何错误。

contact and contactus: 联系人和联系方式:

<?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中正确设置邮件,然后只有您才能从本地计算机发送邮件。

A better approach would be to wrap the mail function in a statement. 更好的方法是将mail函数包装在语句中。 Mail is returning a bool value. 邮件返回bool值。 And beginn as simple as possible. 并开始尽可能简单。

error_reporting (E_ALL);

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

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

    // do when ok

} 
else {  

    // do when error

}

To verify that you receive all values from $_POST do 要验证您是否从$_POST接收了所有值,请执行

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

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

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