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

#php #email #jspdf #html2canvas

#php #Адрес электронной почты #jspdf #html2canvas

Вопрос:

Я использую эту функцию для генерации 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");

        });
    };
  

Ответ №1:

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

PHPMailer имеет гораздо больше преимуществ, и это лишь некоторые из них:

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