Ich habe das System eingerichtet, wo beim Klicken auf die Schaltfläche, der Vertrag mit pdf angehängt wird. Ich habe mpdf verwendet, um die E-Mail an die erforderliche E-Mail-Adresse zu senden. Der folgende Code funktioniert gut auf meinem lokalen Host und macht den Job richtig, aber wenn ich es auf den Server setze, zeigt es keinen Fehler, aber auch keine E-Mails senden, da ich nichts erhalte. Kannst du mir helfen herauszufinden, was mache ich vielleicht falsch?Senden PDF-E-Mail mit MPDF
// Setup PDF
$mpdf = new mPDF('utf-8', 'Letter', 0, '', 0, 0, 0, 0, 0, 0); // New PDF object with encoding & page size
ob_start();
$mpdf->setAutoTopMargin = 'stretch'; // Set pdf top margin to stretch to avoid content overlapping
$mpdf->setAutoBottomMargin = 'stretch'; // Set pdf bottom margin to stretch to avoid content overlapping
$mpdf->WriteHTML($stylesheet,1); // Writing style to pdf
$mpdf->WriteHTML($html); // Writing html to pdf
// FOR EMAIL
$content = $mpdf->Output('', 'S'); // Saving pdf to attach to email
$content = chunk_split(base64_encode($content));
$emailto = '[email protected]';
//The function to send email when the contract is requested
$recepients = array(
$email,
'[email protected]'
);
$mailto = implode(',', $recepients);
$from_name = 'Random Project';
$from_mail = '[email protected]';
$replyto = '[email protected]';
$uid = md5(uniqid(time()));
$subject = 'Wedding Contract Form';
$message = '
</<!DOCTYPE html>
<html>
</style>
<body>
<img src="http://tanglewoodestate.com.au/assets/contract-header.png" width="400px">
<div width ="300px" style="background-color:#f5e9dd;padding:10px">
<p>Hi <strong>'.$cname.'</strong>,<p>
<p>Please Find the <strong>attached contract</strong> from the Tanglewood Estate.</p>
<p>For any questions or queries,Please contact Us at:<br>
ABC<br>
[email protected]<br>
</div>
<img src="http://tanglewoodestate.com.au/assets/contract-footer.png" width="400px">
</body>
</html>';
$filename = 'Wedding_contract.pdf';
$header = "From: ".$from_name." <".$from_mail.">\r\n";
$header .= "Reply-To: ".$replyto."\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n";
$header .= "This is a multi-part message in MIME format.\r\n";
$header .= "--".$uid."\r\n";
$header .= "Content-type:text/html;charset=UTF-8\r\n";
$header .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
$header .= $message."\r\n\r\n";
$header .= "--".$uid."\r\n";
$header .= "Content-Type: application/pdf; name=\"".$filename."\"\r\n";
$header .= "Content-Transfer-Encoding: base64\r\n";
$header .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n";
$header .= $content."\r\n\r\n";
$header .= "--".$uid."--";
$is_sent = @mail($mailto, $subject, "", $header);
//$mpdf->Output(); // For sending Output to browser
//$mpdf->Output('Wedding_contract.pdf','D'); // For Download
ob_end_flush();
}
nicht senden und nicht empfangen sind nicht dasselbe – rtfm
Ihr viel besser mit einer der Standard-Mailing-Bibliotheken wie phpmailer als E-Mail() – rtfm
rtfms - Nur wenn Sie verstehen können, dass ich das zu Testzwecken an mich selbst sende. –