2014-02-27 39 views
-3

我需要處理一個長的PHP腳本,並在腳本完成後將結果通過電子郵件發送給用戶。這是如何完成的?Long PHP腳本的電子郵件結果

+3

你嘗試過什麼嗎? – Populus

+0

這將是很好的包括和你正在使用的代碼的例子。這樣可能會更清楚應該提出什麼樣的建議。 – RacerNerd

+0

我需要理解接受請求的基本體系結構,將它放入隊列並獨立於我的Web應用程序處理腳本。我無法在互聯網上找到很多東西。 – user3362424

回答

1

您可能想要使用mail()函數。您需要在服務器上設置SMTP服務器才能這樣做。查看詳情文檔中:http://php.net/mail

編輯:如果您使用的PHPMailer類,你可以簡單地保存PDF和

$mail->AddAttachment("document.pdf"); 
+0

我很喜歡郵件()。但我需要在後臺運行(不是在新標籤中),然後通過電子郵件發送。這裏是我的腳本:'<?php ob_start(); header('Content-type:application/pdf'); require('fpdf17/fpdf.php'); class PDF extends FPDF { } $ pdf = new PDF('P','in','Letter'); $ pdf-> AddPage(); $ pdf-> SetTextColor(0,0,45); $ pdf-> SetFont('Arial','B',10); $ pdf-> Ln(5.35); $ pdf-> Cell(0.3); $ pdf->單元格(0,0,「運行此腳本併發送電子郵件,不要在新選項卡中打開它,只需在服務器上運行並通過電子郵件發送PDF輸出」); $ pdf-> Output(); ob_end_flush(); ?>'我只需要在服務器上運行並通過電子郵件發送輸出。 – user3362424

+0

郵件標題允許您附加文件。您生成的pdf應該存儲爲'application/pdf',而不是一些隨機的MIME('application/octet-stream'等),以獲得正確的附件格式。有關更多信息,請閱讀「mail()」文檔。我不想寫你的代碼,只是引導你。 –

+0

我不需要爲我寫的代碼。 mail()函數不是問題。如何在服務器上運行任何PHP腳本而不捆綁客戶端? – user3362424

-1

我不知道,你真的需要去耦PHP腳本,但如果這真的是你想要做的,你可以在MySQL表中設置一個值來反映腳本已經完成。然後,運行一個cron作業來檢查是否設置了MySQL中的值。如果是這樣,請發送郵件。如果沒有,請回到睡覺並再次檢查。