没有从.php客户表单调用邮件发送函数


Mail send function not getting called from .php Customer Form

我是PHP编码的新手。我创建了一个客户表单,然后是发送电子邮件功能。当客户提交数据(包括电子邮件和密码)时,他应该收到一封带有用户ID(与输入的电子邮件ID相同)和输入的密码的确认电子邮件
此时,使用我当前的代码,当客户提交表单时,数据库会得到更新,但不会向用户发送电子邮件。有人能指出需要更改哪些内容以确保发送电子邮件功能正常工作吗。

<!DOCTYPE html>
<html>
    <head>
        <title>Registration Desk</title>
    </head>
    <body>   
        <div  class="form">
            <form id="contactform" action="reg_submit.php" method="post"> 
                <p class="contact"><label for="name">Name</label></p> 
                <input id="name" name="name" placeholder="First and last name" required=""   tabindex="1" type="text"> 
                <p class="contact"><label for="add">Address</label></p> 
                <textarea id="add" name="add"  style="width:85%; height:60%; margin-top:1%" required=""></textarea> 
                <fieldset>
                    <label>Birthday</label>
                    <input type="date"   name="dob" value="yyyy-mm-dd" required="">
                </fieldset>

                <label>I am</label>&nbsp;&nbsp;&nbsp;&nbsp;<br><br>

                <input type="radio" name="sex" value="male" >Male &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
                <input type="radio" name="sex" value="female">Female


                <p class="contact"><label for="email">Email</label></p> 
                <input id="email" name="email" class="field" placeholder="Please enter a valid emailid" required="" type="email">

                <p class="contact"><label for="password">Create a password</label></p> 
                <input type="password" id="password" name="password" required=""> 
                <p class="contact"><label for="repassword">Confirm your password</label></p> 
                <input type="password" id="repassword" name="repassword" required=""> 

                <br><br>
                <p class="contact"><label for="phone">Mobile phone</label></p> 
                <input id="phone" name="phone" placeholder="phone number" required="" type="text"> <br>
                <input class="buttom" name="submit" id="submit" tabindex="5" value="Sign me up!" type="submit">      
            </form> 
        </div>      
        </div>
    </body>
</html>
<?php
error_reporting( 0);
$connect=mysqli_connect("localhost","wbtecqoj_saltee","webuildtec1","wbtecqoj_salteegroup");
if(mysqli_connect_errno())
{
    echo "Failed to connect to MySQL: " . mysqli_connect_error();   
}

if( $_POST["password"]!= $_POST["repassword"])
{
?>
    <script type="text/javascript">
    alert("password miss matched!!!.");
    history.back();

    </script>
<?php
}
if($_POST["name"]  &&  $_POST["add"]  &&  $_POST["phone"] &&  $_POST["email"] &&  $_POST["password"] &&  $_POST["dob"]  ) 
{
    $insert="INSERT INTO `db`.`new_user` (`id`, `name`, `add`, `contact`, `email`, `pass`, `dob`, `gender`,`code`) VALUES (NULL, '$_POST[name]', '$_POST[add]', '$_POST[phone]', '$_POST[email]', '$_POST[password]',  '$_POST[dob]', '$_POST[sex]', 'SAL1000000')";
    if(!mysqli_query($connect,$insert))
    {
        echo die('Error: ' . mysqli_error($connect));
    }
    else
    {
        $to=$_POST['email'];
        $from= "admin@wbtec.in";
        $subject="Welcome to xyz Group";

        $message="Welcome " . $_POST['name'] . "Dear Customer,
Your  Card Number is    " .$Ccode.$cookieId. " User id -" . $_POST['email'] . "Your Password -" . $_POST['password']. 
"Thanking You,
Customer Care,";
        $header = "From" .$from;
        if(isset($_POST['btnSend']))
        {
            $res = mail($to,$subject,$message,$header);
            if($res)
            {
                echo 'Message send';
            }
            else
            {
                echo 'msg not send';
            }
        }
}}
mysqli_close($connect);
?>

删除

   if(isset($_POST['btnSend']))
    {
}

您正在检查

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

但是您的表单不包含名为btnSend的输入,您应该能够完全删除if语句

我建议您从http://sourceforge.net/projects/phpmailer/

使用PHPMailer类,您可以指定传出SMTP服务器并正确使用它进行身份验证。下面是我如何使用它的一个例子:

<?php
require("class.phpmailer.php");
class Mailer
{
    function send($email, $subject, $body, $attachment1)
    {
        $mail = new PHPMailer();
        $mail->IsSMTP();                                   // send via SMTP
        $mail->Host     = "mail.xyz.com"; // your SMTP servers
        $mail->SMTPAuth = true;     // turn on SMTP authentication
        $mail->Username = "authname";  // SMTP username
        $mail->Password = "authpassword"; // SMTP password
        $mail->From     = "info@xyz.com";
        $mail->FromName = "info@xyz.com";
        $mail->AddAddress($email); 
        $mail->WordWrap = 50;                              // set word wrap
        if ($attachment1 != "") {
            $mail->AddAttachment($attachment1);      // attachment1
        }
        $mail->IsHTML(false);                               // send as HTML
        $mail->Subject  =  $subject;
        $mail->Body     =  $body;
        if(!$mail->Send())
        {
            return -1;
        }
        else
        {
            return 0;
        }
    }
}
?>

希望能有所帮助!

u必须下载php mailer库,该库有to文件PHP邮件

然后class.phpmailer.php和其他class.smtp.php将此文件添加到具有php代码的同一目录中,如下所示。。

<?PHP
require_once('class.phpmailer.php');
if('POST' == $_SERVER['REQUEST_METHOD']) {
        // process the form here
    $subject = "This is subject testing1";
    $mail = new PHPMailer();    
    $mail->IsSMTP();
    $mail->IsHTML(true); // send as HTML    
    $mail->SMTPAuth   = true;                  // enable SMTP authentication
    $mail->SMTPSecure = "ssl";                 // sets the prefix to the servier
    $mail->Host       = "smtp.gmail.com";      // sets GMAIL as the SMTP server
    $mail->Port       = 465;                   // set the SMTP port 
    //$mail->Username   = "gmailusername";                    // GMAIL username
    //$mail->Password   = "password";                                           // GMAIL password   
    $mail->From       = 'email id';
    $mail->FromName   = "FrontName";
    $mail->Subject    = $subject;
    $mail->Body       = "this is html body";           //HTML Body
    $emailId='email id';
    $emails  = explode(",",$emailId);
    foreach($emails as $email)
           $mail->AddAddress($email);
    if($mail->Send()){
        echo "Message sent successfully";
    }else{
        echo "Mailer Error: " . $mail->ErrorInfo;
    }
}
    ?>
<form action="" method="post">
  <input type="submit" name='button1'value="sent mail" />
</form>