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

Php邮件5.2.14不允许我发送电子邮件,我使用的是laragon[重复]

庞安晏
2023-03-14

我正在创建一个必须发送电子邮件确认的注册系统。 我已经安装了laragon,我使用的是php mailer,5.2.14版本。 phpmyadmin设置良好,它接受用户的注册数据,但没有发送电子邮件。

允许我创建用户并发送电子邮件的注册代码(即function.php内部)如下:

 function createuser($first_name, $last_name, $username, $email, $password)
   {   

global $url;
$first_name = escape($first_name);
$last_name = escape($last_name);
$username = escape($username);
$email = escape($email);
$password = escape($password);
$password = password_hash($password);
$token = password_hash($username . microtime());
$sql = "INSERT INTO users(first_name,last_name,username,email,password,token,activition) ";
$sql .= "VALUES('$first_name','$last_name','$username','$email','$password','$token',0)";
confirm(query($sql));
//this is the message that is going to appear to user and it says to open the email where there's    the activation link
set_message('Per favore controlla la tua email o la tua cartella spam per vedere il link di   attivazione');
//this is the content of the email, that contains my email 
$subject = "Attivazione account";
$msg = "Clicca su questo link per attivare il tuo account
        $url/activate.php?email=$email&code=$token";
$headers = "From: caredda.sara@gmail.com";
send_email($email, $subject, $msg, $headers);
redirect('index.php');
}
//this is the function to send the email
function send_email($email, $subject, $msg, $headers)
{
return mail($email, $subject, $msg, $headers);
}

我创建了另一个文件,其中有注册系统的html代码,它链接到function.php文件。 在html代码之前,我复制粘贴了phpmailer代码,并进行了自定义修改。 代码如下:

<?php if(isset($_POST['sendmail'])) {
        require 'phpmailer/PHPMailerAutoload.php'; 

        $mail = new PHPMailer;

        // $mail->SMTPDebug = 4;                              // Enable verbose debug output

        $mail->isSMTP();                                      // Set mailer to use SMTP
        $mail->Host = 'smtp.gmail.com';                       // Specify main and backup SMTP servers
        $mail->SMTPAuth = true;                               // Enable SMTP authentication
        $mail->Username = 'caredda.sara@gmail.com';           // SMTP username
        $mail->Password = 'my_google_account_password';       // SMTP password
        $mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
        $mail->Port = 587;                                    // TCP port to connect to

        $mail->setFrom('caredda.sara@gmail.com', 'Sara Caredda');
        $mail->addAddress($_POST['email']);                   // Add a recipient

        $mail->addReplyTo('caredda.sara@gmail.com');
        // print_r($_FILES['file']); exit;
        for ($i=0; $i < count($_FILES['file']['tmp_name']) ; $i++) { 
            $mail->addAttachment($_FILES['file']['tmp_name'][$i], $_FILES['file']['name'][$i]);    // Optional name
        }
        $mail->isHTML(true);                                  // Set email format to HTML

        $mail->Subject = $_POST['subject'];
        $mail->Body    = '<div style="border:2px solid red;">Body del messaggio html<b>in bold!</b></div>';
        $mail->AltBody = $_POST['message'];

        if(!$mail->send()) {
            echo 'Il messaggio non è stato mandato.';
            echo 'Errore Mailer: ' . $mail->ErrorInfo;
        } else {
            echo 'Il messaggio è stato mandato';
        }
    }
 ?>

这就是全部。 这段代码不发送任何电子邮件,而我是一个学生,我正在试图理解为什么。 我花了整个晚上的时间。 我想,现在是寻求帮助的时候了。 你能帮帮我吗?

共有1个答案

姜泰宁
2023-03-14

我想是关于授权的问题。 你需要访问谷歌帐户的安全页面,并打开“不太安全的应用程序访问”的访问。

 类似资料:
  • 发送电子邮件时,页脚中有下面的标准消息。 此电子邮件是使用CakePHP框架发送的,http://cakephp.org. 它似乎使用了这个: 我的控制器里有这个。 创建了以下视图: /应用程序/查看/电子邮件/文本/梦想。ctp /应用程序/视图/布局/电子邮件/文本/梦想。ctp 是否有任何其他设置我错过了cakephp使用我的布局? *注:如果我重新命名我的梦想。ctp默认。ctp它使用那个

  • 我正在使用Laravel,我想使用PHP邮件功能。我已经尝试过了: 但没有电子邮件获取发送至少我不接收它检查垃圾邮件文件夹,它不在那里,我不接收任何错误消息时,执行此代码。 php邮件函数用来发送邮件的是什么?也许我错过了什么? 此外,我没有运行这个地方,我有它上传到我的VPS运行Ubuntu 16.04。1 LTS

  • 问题内容: 现在,我已经建立了一个PHP电子邮件表单,并且一切正常。但是,在测试时,我只得到了发件人的电子邮件地址作为名称。我想要的是发件人的姓名,例如: 约翰·杜 科目科目科目 代替: j.doe@website.com 科目科目科目 下面是代码… 有谁可以帮助我吗?谢谢。 PHP: 问题答案: 在您的4行说完之后添加一行:

  • 我得到的错误是:无效地址:mysmtppassxxxxSMTP->错误:连接到服务器失败:连接超时(110) SMTP错误:无法连接到SMTP主机。SMTP错误:无法连接到SMTP主机 当我执行var_dump($email)时,我得到

  • 问题内容: 我目前正在写一个音乐博客。管理员每2-3天发布一次新文章。管理员发布文章后,将立即向大约5000个订阅者发送大量电子邮件。 实施群发邮件功能的最佳方法是什么? 下列功能有效吗? 另一个问题:如果所有5000个订阅者都在使用Yahoo Mail,Yahoo是否会将其视为DDOS攻击并阻止我的SMTP服务器的IP地址? 问题答案: 首先,使用PHP随附的mail()函数不是最佳解决方案。它

  • 问题内容: 我在网站上使用PHP,并且想添加电子邮件功能。 我已经安装了WAMPSERVER。 如何使用PHP发送电子邮件? 问题答案: 使用PHP的功能是可能的。请记住,邮件功能在本地服务器上不起作用。

  • 问题内容: 我知道有一些与此类似的问题,但我无法使其正常运行。 好的,我在一个名为$ emailList的变量中有一个从数据库中获取的电子邮件列表。如果将变量放在该部分中,则可以获取代码以从表单发送电子邮件,但无法使其与bcc一起使用。我什至还添加了一封电子邮件,以防万一,但这没什么关系。 这是我的代码。 我试过两个代码: 和 不是因为这些电子邮件而没有分开电子邮件。我知道他们是因为如果我在本节中