Im trying to send PDF or PNG over email and nothing seems to work. Below is my LAST attemnt, I have read every single article here on SO and nothing sees to work what is suggest
After almost giving up, finally got it to work. Its a combination of few things linked here and suggested. This post on github html2pdf helped a bit also.
I'm posting it here as none of the examples worked for me, took me two days to find what works for me and my interment. Hope it helps someone.
window.onload = function pdfDivload (){
let el = document.getElementById('printableArea');
let opt = {
margin: 1,
filename: 'myfile.pdf',
image: { type: 'jpeg', quality: 0.98 },
html2canvas: { scale: 2 },
jsPDF: { unit: 'in', format: 'A4', orientation: 'portrait' }
};
html2pdf().set( opt ).from( el ).toPdf().output('datauristring').then(function( pdfAsString ) {
let data = {
'fileDataURI': pdfAsString,
};
$.post( "../prog/mail.php", data);
console.log( data );
} );
};
PHP:
if (isset($_POST['fileDataURI'])) {
$pdfdoc = $_POST['fileDataURI'];
$b64file = trim( str_replace( 'data:application/pdf;base64,', '', $pdfdoc ) );
$b64file = str_replace( ' ', '+', $b64file );
$decoded_pdf = base64_decode( $b64file );
//file_put_contents( $attachment, $decoded_pdf );
$mail = new PHPMailer;
$mail->setFrom( 'xxx@xxx.hr', 'website' );
$mail->addAddress( 'xxx@gxxx.com', 'OdedTa' );
$mail->Subject = 'First PHPMailer Message';
$mail->Body = 'Hi! This is my first e-mail sent through PHPMailer.';
$mail->addStringAttachment($decoded_pdf, "nalog.pdf");
$mail->isHTML( true );
$mail->send();