如何使用 sendgrid mail api 将 dompdf 生成的 pdf 附加到邮件中?

How do I attach a generated pdf by dompdf into mail using sendgrid mail api?

我正在使用 dompdf 生成 pdf ( $output = $dompdf->output(); ),我需要将它附加到 phpmailer 并邮寄....

我正在使用 sendgrid 作为邮件服务...

function sendEMailwithAttachment($mail_type, $mail_variable = array(), $subject, $from, $mailto, $username, $fileName, $filePath) { 

    $to = new SendGrid\Email($username, $mailto);
    $content = new SendGrid\Content("text/html", $message);
    $file = $filePath;
    $file_encoded = base64_encode(file_get_contents($file));
    $attachment = new SendGrid\Attachment();
    $attachment->setContent($file_encoded);
    $attachment->setType("application/text");
    $attachment->setDisposition("attachment");
    $attachment->setFilename($fileName);

    $mail = new SendGrid\Mail($from, $subject, $to, $content);
    $mail->addAttachment($attachment);

}

如何在电子邮件中传递 $output 值

有没有办法将 $output 作为 $filePath 传递?

将您的 PDF 文件保存在磁盘中:

$output = $dompdf->output();
file_put_contents('output.pdf', $output);
$fileName = 'output.pdf';  // Pass this variable to sendEMailwithAttachment function

然后将文件路径传递给邮件发件人。发送后从服务器中删除您的 pdf 文件。

来源:how to save DOMPDF generated content to file?