2017-02-15 124 views
1

我使用PHPMailer發送自動郵件(顯然使用PHP作爲編程語言)。 我想添加一個用TCPdf生成的PDF附件。 不幸的是,我不能在PHP頁面中使用PHPMailer生成PDF,並且我無法創建生成它的函數。 我只能用一個鏈接來產生,就像這樣: www.mypage.com/app-pdf/link_generate_pdf.php?IDToGenerate=131 & PDFOutput = IPhpmailer從鏈接添加PDF附件

我在想,我能回憶起與頁面PDFOutput = S並以某種方式「返回」PDF的文本並將其添加爲附件。 否則,我可以使用PDFOutput = F調用該頁面並將其保存到臨時文件夾,然後將其附加到電子郵件。

問題是,我不知道如何「調用」一個頁面,因爲它是一個函數,並返回召回頁面實際返回的內容。

你有什麼建議嗎? 謝謝


編輯:我現在明白了這個問題!問題是URL只能從autentication(登錄頁面)訪問。我認爲,在我登錄時,腳本自動能夠讀取該頁面。我該如何解決這個問題?

+1

使用['file_get_contents'(https://secure.php.net/manual/en/function.file-get-contents.php)將PDF保存爲一個臨時文件然後附加它? – Passerby

+1

您提到使用'PDFOutput = S',你試過了嗎?它似乎會起作用。當你使用'AddStringAttachment(generatePDF.php)' – BizzyBob

+0

不幸的是它不工作,每次都是空白和損壞的pdf – Andrea

回答

1

使用此先保存在服務器上的文件,然後附上

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

附加爲

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

希望這有助於

編輯:試試這個。正常工作在這裏

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

謝謝,但它不起作用,它每次都會節省空白的pdf。我嘗試了一個靜態的pdf鏈接,它效果很好。我認爲它不適用於「生成」鏈接。 – Andrea

+0

@Andrea查看編輯 –

+0

謝謝Tunde! 當我通過CURL認證後,我使用了您的解決方案並且完美地工作! – Andrea