PDF文件由tcpdf库生成,但我无法将其附加到电子邮件中。它使用空的1kb PDF文件发送电子邮件。
$to = 'receiver@gmail.com'; $subject = 'Receipt'; $repEmail = 'info@gmail.com'; $fileName = 'receipt.pdf'; $fileatt = $pdf->Output($fileName, 'S'); $attachment = chunk_split($fileatt); $eol = PHP_EOL; $separator = md5(time()); $headers = 'From: Sender <'.$repEmail.'>'.$eol; $headers .= 'MIME-Version: 1.0' .$eol; $headers .= "Content-Type: multipart/mixed; boundary=\"".$separator."\""; $message = "--".$separator.$eol; $message .= "Content-Transfer-Encoding: 7bit".$eol.$eol; $message .= "This is a MIME encoded message.".$eol; $message .= "--".$separator.$eol; $message .= "Content-Type: text/html; charset=\"iso-8859-1\"".$eol; $message .= "Content-Transfer-Encoding: 8bit".$eol.$eol; $message .= "--".$separator.$eol; $message .= "Content-Type: application/pdf; name=\"".$fileName."\"".$eol; $message .= "Content-Transfer-Encoding: base64".$eol; $message .= "Content-Disposition: attachment".$eol.$eol; $message .= $attachment.$eol; $message .= "--".$separator."--"; if (mail($to, $subject, $message, $headers)){ echo "Email sent"; } else { echo "Email failed"; }
我知道使用phpmailer会更容易,但我需要使用邮件功能并且不要使用任何库。 任何帮助表示赞赏。
答案 0 :(得分:0)
解决方案是在 vodich 发送的链接上。
您的代码是正确的。你必须换一行:
$fileatt = $pdf->Output($fileName, 'S');
与
$fileatt = $pdf->Output($fileName, 'E');