Andrea
Andrea

Reputation: 45

Phpmailer add PDF attachment from a link

I'm using PHPMailer to send automatic email (obviously using PHP as programming language). I would like to add a PDF attachment generated with TCPdf. Unfortunately I cannot generate the PDF inside the php page where I'm using PHPMailer, and I cannot create a function that generate it. I can only use a link to generate it, like this: www.mypage.com/app-pdf/link_generate_pdf.php?IDToGenerate=131&PDFOutput=I

I was thinking that I can recall the page with the PDFOutput=S and "return" in some way the text of the PDF and add it as attachment. Otherwise I can call the page with PDFOutput=F and save it to a temp folder and then attach it to the email.

The problem is that I don't know how to "call" a page as it were a function and return what the recalling page actually returns.

Do you have some suggestion? Thank you


edit: I now understand the problem! The problem is that the URL is accessible only from autentication (login page). I thought that as I was logged in, the script was automatically capable of read the page. How can I solve this?

Upvotes: 1

Views: 2738

Answers (1)

Tunde Michael
Tunde Michael

Reputation: 364

Use this to save the file on the server first and then attach

file_put_contents("Tmpfile.pdf", fopen("http://example.com/file.pdf", 'r'));

Attach as

 $mail->AddAttachment('path_to_pdf/Tmpfile.pdf', $name = 'Name_of_pdf_file', 
 $encoding = 'base64', $type = 'application/pdf');

Hope this helps

Edit: Try this. works fine over here

file_put_contents("path_to_pdf/Tmpfile.pdf", 
file_get_contents("http://example.com/file.pdf"));

Upvotes: 1

Related Questions