addAttachment不向电子邮件添加任何附件

问题描述 投票:0回答:1

我写出以下代码,并且电子邮件可以正常发送,但我无法弄清楚为什么电子邮件中没有包含预期的附件(pdf文件)。

我也尝试过使用MIME附加$ mail->,这会导致500个内部服务器错误。

    $pdf = public_path() . '/assets/attachments/TermSheet.pdf';
    $mail = new PHPMailer\PHPMailer();
    $mail->IsSMTP();
    $mail->SMTPDebug = 0;
    $mail->SMTPSecure = '';
    $mail->SMTPAuth = true;
    $mail->IsHTML(true);

    //ENV VARIABLES
    $mail->Host =  env("MAIL_HOST");
    $mail->Port = env("MAIL_PORT");
    $mail->Username = env("MAIL_USERNAME");
    $mail->Password = env("MAIL_PASSWORD");
    $mail->SetFrom($fromemail, $fromname);
    $mail->Subject = $emailsubject;

    $mail->isHTML(true);                                  // Set email format to HTML
    $mail->Subject = $emailsubject;
    $mail->addAttachment($pdf);
    $mail->Body    = $initbody;  
    $mail->AddAddress($user);
    if(isset($ccemaillist)){                        //cc
        $ccemail = explode(";",$ccemaillist);
        foreach ($ccemail as $toccmail) {
            $mail->AddAddress($toccmail);
        }
    }                  

    if($mail->Send()) {    

        $ch = curl_init();

        curl_setopt($ch, CURLOPT_URL, $currentapp.'/mail/send?api_user_id='.$creatorid);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS,
                    "recipient_email=$user&email_type=WelcomeEmail&sys_status=1&creator=$creatorid");

        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

        $server_output = curl_exec($ch);

        curl_close ($ch);     

        return "SUC";
    }

我不确定为什么它不起作用,对此我的任何投入我都会很感激。预先谢谢你:)

laravel phpmailer attachment
1个回答
0
投票

可能给

500内部服务器错误

由于文件路径不正确。

您可以尝试$pdf = asset('assets/attachments/TermSheet.pdf');public_path()在某些情况下不起作用。

© www.soinside.com 2019 - 2024. All rights reserved.