无法在laraval中访问文件PHP邮件程序

时间:2019-07-03 10:59:34

标签: php laravel

我正在使用php / laraval创建一个项目。我只是发送带有附件的电子邮件。但是此附件不起作用。我知道对此有太多问题,但找不到答案。

 $file1  = $_FILES['file']['tmp_name'];  
        $pathset = base_path();
        $path = $pathset."/public/uploads/".$_FILES["file"]["name"];
        move_uploaded_file($_FILES["file"]["tmp_name"],
        $path);
        DB::statement("UPDATE orders SET pdf = '".$fileData."' WHERE id = '".$id."'");
 $mail             = new PHPMailer\PHPMailer(); // create a n
        $mail->isSMTP();
        $mail->SMTPDebug  = 1; // debugging: 1 = errors and messages, 2 = messages only
        $mail->SMTPAuth   = true; // authentication enabled
        $mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for Gmail
        $mail->Host       = "smtp.gmail.com";
        $mail->Port       = 465; // or 587
        $mail->IsHTML(true);
        $mail->Username = "xxxxx@gmail.com";
        $mail->Password = "xxxxxx";
        $mail->SetFrom("xxxxx@gmail.com", 'xxxxx.com');
        $mail->Subject = "xxxxx Ready";
        $mail->Body    = $text;
        $mail->AddAddress("xxxxxx.com");
        $mail->AddAttachment($pdfLink,$fileData,  $encoding = 'base64', $type = 'application/pdf');
        $mail->Send();

生成的pdf链接是可访问的。当我在新选项卡中打开pdf链接时,它可以工作。但是我不知道为什么 php mailer不能访问

2 个答案:

答案 0 :(得分:0)

我有解决方案,我只是从服务器获取文件。这是无法正常运行的原因。文件应从实际路径上传。

答案 1 :(得分:0)

登录到您的Gmail帐户,转到Enable access

MAIL_DRIVER=smtp
MAIL_HOST=smtp.googlemail.com
MAIL_PORT=465
MAIL_USERNAME=ENTER_YOUR_GMAIL_USERNAME
MAIL_PASSWORD=ENTER_YOUR_GMAIL_PASSWORD
MAIL_ENCRYPTION=ssl

并且所有必须工作正常