当前位置: 首页 > 知识库问答 >
问题:

PHP邮件()无法运行[重复]

汪才英
2023-03-14

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

我的电子邮件中有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);

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

谢谢

编辑:我在页面上的寄存器功能:

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);
        }

UPDATE::

好吧,所以我已经知道,如果我把它上传到我发布的服务器上,它实际上是工作的,所以它一定是我localhost的问题...感谢@MarkP

共有2个答案

上官扬
2023-03-14

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

<span>Welcome, $register_data['fname'];

<span>Welcome, '.$register_data["fname"].';
穆毅然
2023-03-14

好的,在现场聊天之后,OP使用的是本地服务器(XAMPP)。

我建议他们转到如何配置XAMPP以从本地主机发送邮件?

找出如何激活邮件服务器。

@Caelan Grgurovic如果这是正确的解决方案,请接受我的回答,这样人们就不会花时间试图找出问题所在。

在你的服务器上试试这个

新页面test.php

<?php
 mail('youremail@email.com', 'Welcome!', 'body');
?>

OBV更改您的电子邮件,如果这不起作用,那么您没有在服务器上正确设置电子邮件,请尝试在Web主机服务器上。

 类似资料:
  • 我目前的邮件有问题。它发送的很好,我收到了一个带有名称和大小的附件,但无法打开。另外,我已经尝试了PHPMailer,SMTP在我的服务器上不起作用,所以请不要建议我使用它:) 抱歉关于法语变量名称和错误消息,但我不认为这将是有用的。当然,如果你需要,我可以翻译。 这是一段处理我附件的代码。

  • 我正在Windows Server 2008中使用Jenkins 2.7.1版。我正在java环境中使用java-jar Jenkins运行Jenkins。战争指挥部。 我试图用smtp.office365.com发送邮件-在那里我得到一个错误"com.sun.mail.smtp.SMTPSendFailedExcture:xxx.x.x.xxSMTP;客户端未通过身份验证以在邮件从发送过程中发送

  • 我有一个很长的表单,表单的内容是通过邮件(HTML电子邮件)发送的。 我的PHP邮件函数在其余的内容中工作得很好。但当我将以下内容添加到邮件正文时,邮件就不工作了。 基本上,我得到的。 邮件头为

  • 我按照http://maven.apache.org/download.cgi安装了maven,并创建了以下环境变量: 并且,我在PATH前面加上了这个: 当我尝试运行并输入时,它会说: 'mvn'无法识别为内部或外部命令、可操作程序或批处理文件。

  • 我试图发送附加文件到电子邮件。但是我无法将附件文件连同表格数据发送到电子邮件。我试过了 超文本标记语言: sendmail.php: 我尝试了相同的代码没有$strHeader在mail()邮件被发送,但当我添加$strHeader到mail()我无法发送代码。请指导我在哪里做错误,也请告诉我如何才能只允许jpg,jpeg,png格式上传。对我来说,编辑代码对我来说很容易学习。我在stackove

  • 问题内容: 我可以通过netbeans运行我的项目,但是在制作一个jar文件并双击它之后,我得到了错误,找不到Java运行时环境?我在Windows上。 问题答案: 您没有创建文件关联。右键单击Internet Explorer中的.jar文件,选择“打开方式”,然后导航到您的JRE。选择java.exe可执行文件,并确保命令行参数中存在“ -jar”。 .jar文件将作为第一个参数传递给JVM。