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

时间:2017-04-25 04:07:07

标签: php codeigniter email sendgrid dompdf

我正在使用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传递?

1 个答案:

答案 0 :(得分:3)

将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?