Как отправить сгенерированный PDF-файл на почту с помощью PHP?

Я использую эту функцию для создания PDF с помощью JsPDF и Html2canvas в PHP и успешно генерирую. Можно ли отправить сгенерированный PDF-файл в виде вложения электронной почты с помощью PHP вместо загрузки? Я искал, но не смог найти никакого решения

function screenshot(){

        var HTML_Width = $(".page_pdf").width();
        var HTML_Height = $(".page_pdf").height();
        var top_left_margin = 15;
        var PDF_Width = HTML_Width+(top_left_margin*2);
        var PDF_Height = (PDF_Width*1.5)+(top_left_margin*2);
        var canvas_image_width = HTML_Width;
        var canvas_image_height = HTML_Height;

        var totalPDFPages = Math.ceil(HTML_Height/PDF_Height-5);
        
        window.scrollTo(0,0); 
        html2canvas($(".page_pdf")[0],{scale: 5}).then(function(canvas) {
            canvas.getContext('bitmaprenderer');
          
             window.scrollTo(0,0); 
            var imgData = canvas.toDataURL("image/jpeg", 1.0);
            var pdf = new jsPDF('p', 'pt',   [PDF_Width, PDF_Height]);
            pdf.addImage(imgData, 'JPG', top_left_margin, top_left_margin,canvas_image_width,canvas_image_height);
            
            for (var i = 1; i <= totalPDFPages; i++) { 
                pdf.addPage(PDF_Width, PDF_Height);
                pdf.addImage(imgData, 'JPG', top_left_margin, -(PDF_Height*i)+(top_left_margin*4),canvas_image_width,canvas_image_height);
            }
            
            pdf.save("liquidacion.pdf");

        });
    };

person Ivan Vidal    schedule 30.08.2020    source источник


Ответы (1)


Вы можете использовать библиотеку, например PHPMailer, а затем добавить различные Вложения, такие как ваш PDF.

У PHPMailer есть еще много преимуществ, среди которых:

  • поддержка SMTP
  • больше получателей или BCC (слепая копия)
  • Защита от атак с внедрением заголовков
person klediooo    schedule 30.08.2020