Ich benutze html2pdf, um eine HTML-Seite in ein PDF zu konvertieren, und ich möchte es als eine E-Mail senden. Mit dem unten stehenden Code konnte ich die PDF-Datei erstellen und auf der Seite korrekt anzeigen (mit Output ('name.pdf')). Ich fand, dass in einer E-Mail, um diese pdf als Anlage zu senden, ich brauche ein zweites Argument als wahr oder als ‚S‘, hinzuzufügen, so ist hier der Code:HTML2PDF-Ausgabe über PHPMailer() gesendet
$pdf = '';
try
{
// init HTML2PDF
$html2pdf = new HTML2PDF('P', 'A4', 'en', true, 'UTF-8', array(0, 0, 0, 0));
// display the full page
$html2pdf->pdf->SetDisplayMode('fullpage');
// get the HTML
ob_start();
include('invoice_html.php');
$content = ob_get_clean();
// convert
$html2pdf->writeHTML($content);
// send the PDF
$pdf = $html2pdf->Output('', true);
}
catch(HTML2PDF_exception $e) {
echo $e;
exit;
}
$mail = new PHPMailer();
$mail->setFrom('[email protected]', 'sender');
$mail->addAddress('[email protected]', 'test');
$mail->Subject = 'TestMail';
$mail->addAttachment($pdf, 'file.pdf');
$mail->Body = 'TestMessage';
if($mail->send())
{
echo 'success';
}
else
{
echo $mail->ErrorInfo;
}
Auch hinzuzufügen, habe ich das sendmail auf wamp. Immer wenn ich auf die Seite zugreife, bekomme ich Erfolg und die Mail wird erfolgreich gesendet, jetzt ist mein Problem der Attachment-Teil, weil ich die E-Mail mit Body und Subject bekomme, aber es gibt keinen Anhang zu PDF. Habe ich am Ausgabeteil etwas falsch gemacht? (sowohl wahr als auch "S" geben dasselbe). Vielen Dank. PS: Ich benutze Yahoo als SMTP, um E-Mails und Gmail zu senden.