我写出以下代码,并且电子邮件可以正常发送,但我无法弄清楚为什么电子邮件中没有包含预期的附件(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";
}
我不确定为什么它不起作用,对此我的任何投入我都会很感激。预先谢谢你:)
可能给
500内部服务器错误
由于文件路径不正确。
您可以尝试$pdf = asset('assets/attachments/TermSheet.pdf');
public_path()在某些情况下不起作用。