Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么我的无bug代码不发送电子邮件_Php_Email - Fatal编程技术网

Php 为什么我的无bug代码不发送电子邮件

Php 为什么我的无bug代码不发送电子邮件,php,email,Php,Email,大家好! 我遵循一个教程来学习如何在php中重置密码。 我作为本地主机工作。我编写代码,代码没有bug,错误报告也打开,mail()函数也在工作,但我没有收到任何电子邮件。 此外,输入无效用户名时,也不会出现任何错误。 我朗读并尝试了所有方法,但没有任何方法对我有帮助! 请检查我哪里做错了! 谢谢 您可能没有设置任何邮件服务器。您可以始终使用smtp4dev()测试您的代码,以确保您甚至可以发送电子邮件 如果您确实想向任何电子邮件帐户发送电子邮件,则必须设置邮件服务器: 编辑:如果没有smtp服

大家好! 我遵循一个教程来学习如何在php中重置密码。 我作为本地主机工作。我编写代码,代码没有bug,错误报告也打开,mail()函数也在工作,但我没有收到任何电子邮件。 此外,输入无效用户名时,也不会出现任何错误。 我朗读并尝试了所有方法,但没有任何方法对我有帮助! 请检查我哪里做错了! 谢谢


您可能没有设置任何邮件服务器。您可以始终使用smtp4dev()测试您的代码,以确保您甚至可以发送电子邮件

如果您确实想向任何电子邮件帐户发送电子邮件,则必须设置邮件服务器:


编辑:如果没有smtp服务器,您无法使用PHP发送电子邮件。

您可能没有设置任何邮件服务器。您可以始终使用smtp4dev()测试您的代码,以确保您甚至可以发送电子邮件

如果您确实想向任何电子邮件帐户发送电子邮件,则必须设置邮件服务器:


编辑:如果没有smtp服务器,您无法使用PHP发送电子邮件。

您的邮件服务器设置正确吗?@DanielMensing您所说的邮件服务器是什么意思?我向Gmail发送了一封邮件,声明您的代码“没有bug”是一件非常勇敢的事情。你永远不能百分之百肯定。@arkascha好吧,如果代码没有bug,他们不需要我们,我们可以继续做我们可以修复的事情!请记住,
mail()
函数实际上并不发送邮件,它所做的只是将邮件请求传递给实际的邮件服务器。根据邮件服务器的设置方式,您可能必须从该(您的)邮件服务器上存在的有效电子邮件地址发送邮件。您的邮件服务器设置正确吗?@DanielMensing您所说的邮件服务器是什么意思?我向Gmail发送了一封邮件,声明您的代码“没有bug”是一件非常勇敢的事情。你永远不能百分之百肯定。@arkascha好吧,如果代码没有bug,他们不需要我们,我们可以继续做我们可以修复的事情!请记住,
mail()
函数实际上并不发送邮件,它所做的只是将邮件请求传递给实际的邮件服务器。根据邮件服务器的设置方式,您可能必须从该(您的)邮件服务器上存在的有效电子邮件地址发送邮件。
<?php

    error_reporting(-1);
    ini_set('display_errors', 'On');
    set_error_handler("var_dump");

    require_once './include/db_connection.php';
    if (isset($_POST['button'])){
        $db_email="";
        $username = $_POST['username'];
        $email =$_POST['email'];
        $query="select * from signup where username='$username'";
        $result   = mysqli_query($link,$query);

        $count=mysqli_num_rows($result);

        // If the count is equal to one, we will send message other wise display an error message.

        if($count>0) {

            while ($row = mysqli_fetch_assoc($result)) {
                $db_email = $row['email'];
            }

            if($email == $db_email) {
                $code = rand(1000, 10000);
                $to =$db_email;
                $subject = "Password Reset Link";
                $body = "Do not reply of this automated email."
                      . "Enter the below link to reset passwowrd "
                      . "http://localhost/Validation/forgotpassword.php?code=$code&username=$username";

               // Always set content-type when sending HTML email
               $headers = "MIME-Version: 1.0" . "\r\n";
               $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";

               // More headers
               $headers .= 'From: <webmaster@example.com>' . "\r\n";
               $headers .= 'Cc: myboss@example.com' . "\r\n";

               mysqli_query($link, "update signup set paareset='$code' where username='$username'");
               if(mail($to, $subject, $body,$headers)) {
                  echo 'Good';   
               } else {
                  echo 'mail() not working';
               }
               echo 'Check your inbox';

            } else {
                echo 'You have an incorrect email';
            }
        }

    }
?>


<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
<body>

    <form action="" method="post">

        <label> Enter your User ID : </label>
        <input  type="text" name="username" /><br>
        <label> Enter your Eamil address : </label>
        <input id="email" type="email" name="email" /><br>
        <input id="button" type="submit" name="button" value="Submit" />    
</body>
</form>
</html>