PHP mail() 不起作用

GRO*_*ER. 5 html php email html-email

所以,我在过去一个小时左右的时间里一直在研究这个邮件功能,但我不明白为什么它没有发送电子邮件!我已经尝试了多次,修改代码并试图使其完美,但我仍然没有收到测试电子邮件......

我的电子邮件中有 HTML,但这不是问题,因为我已经在没有 HTML 的情况下对其进行了测试。

我的PHP:

$to = $register_data['email'];
        $subject = "Welcome!";
        $body = '
            <html>
                <head>
                    <style>
                        body{
                            background-color: #FFF;
                            font-family: arial;
                            margin: 0;
                            padding: 0;
                        }
                        a{
                            color: inherit;
                            text-decoration: none;
                        }
                        .outer-email{
                            width: 80%;
                            height: auto;
                            margin: 0 auto;
                        }
                        .info-email{
                            width: 80%;
                            margin: 120px auto;
                        }
                        .outer-header h3{
                            font-size: 2.9em;
                            color: #151515;
                            margin: 0;
                        }
                        .inner-email{
                            margin-top: 20px;
                        }
                        .inner-email span{
                            font-size: 1.3em;
                            color: #151515;
                        }
                    </style>
                </head>
            <body>
                <div class="outer-email">
                    <div class="info-email">
                        <div class="outer-header">
                            <h3>Welcome!</h3>
                        </div>
                        <div class="inner-email">
                            <span>Welcome, $register_data['fname'];
                            </span>
                        </div>
                    </div>
                </div>
            </body>
            </html>
        ';
        $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
        $headers .= 'From: Domain <noreply@domain.com>';

        mail($to, 'Welcome!', $body, $headers);
Run Code Online (Sandbox Code Playgroud)

请不要将其归类为重复项,因为我已经测试了很多有关此主题的其他论坛问题,但它们没有解决我的问题!:(

谢谢

编辑:我在页面上的注册功能:

if(empty($_POST) === false && empty($errors) === true) {
            $register_data = array(
                'username'      => $_POST['username'],
                'password'      => $_POST['password'],
                'fname'         => $_POST['fname'],
                'lname'         => $_POST['lname'],
                'email'         => $_POST['email'],
                'type'          => $_POST['type'],
                'email_code'    => md5($_POST['username'] + microtime())
            );
            register($register_data, $conn);
            redirect('register.php?success');
            exit();
        } else if (empty($errors) === false)  {
            echo error_output($errors);
        }
Run Code Online (Sandbox Code Playgroud)

更新::

好的,所以我发现如果我将它上传到我发布的服务器上,它实际上可以工作,所以它一定是我的本地主机上的问题......谢谢@MarkP

kol*_*nar 2

不确定是否是这种情况,但您的$body, 更改中有语法错误

<span>Welcome, $register_data['fname'];
Run Code Online (Sandbox Code Playgroud)

<span>Welcome, '.$register_data["fname"].';
Run Code Online (Sandbox Code Playgroud)