我正在使用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传递?
答案 0 :(得分:3)
将PDF文件保存在磁盘中:
$output = $dompdf->output();
file_put_contents('output.pdf', $output);
$fileName = 'output.pdf'; // Pass this variable to sendEMailwithAttachment function
然后将文件路径传递给邮件发件人。发送后从服务器上删除您的pdf文件。