Я написал код для отправки почты с файлом PDF в качестве вложения, отправка почты работает. Я использовал class.phpmailer.php. Ниже мой код.
$mpdf=new mPDF();
$mpdf->ignore_invalid_utf8 = true;
$stylesheet = file_get_contents('appstyle_pdf.css');
$mpdf->WriteHTML($stylesheet,1);
$mpdf->WriteHTML($output);
$comname = preg_replace("/[^A-Za-z0-9]/","",$_POST['company']);
$name = $dirname.str_replace(" ","-",$comname)."_".$time_stamp.".pdf";
$mpdf->Output($name,"F");
$filename = basename($name);
$file_size = filesize($name);
$content = chunk_split(base64_encode(file_get_contents($name)));
$mail = new PHPMailer;
$msg = 'Message';
$body = '<html><body><p>' . $msg . '</p></body></html>'; //msg contents
$body = preg_replace("[\\\]", '', $body);
$mail->AddReplyTo('[email protected]', "ACIC");
$mail->SetFrom('[email protected]', "ACIC Order");
$address = '[email protected]'; //email recipient
$mail->AddAddress($address, "NAME");
$mail->Subject = 'SUBJECT of ACIC order form';
$mail->MsgHTML($body);
$mail->AddStringAttachment($content , $filename);
if (!$mail->send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent Successfully please check attachement!";
}
Когда я использую приведенный выше код, вложение приходит на почту, но файл повреждается. Сообщение об ошибке похоже на «Adobe reader не может открыть abc.pdf, потому что это либо не поддерживаемый тип файла, либо потому, что файл был поврежден (например, он был отправлен как вложение электронной почты и не был правильно декодирован)».