2014-09-21 102 views
0

林到生成的PDF附加到郵件MPDF/PHP郵件像HTML郵件

$mpdf=new mPDF(); 

$mpdf->WriteHTML(utf8_encode($html)); 
$content = $mpdf->Output('', 'S'); 
$content = chunk_split(base64_encode($content)); 
$mailto = '[email protected]'; //Mailto here 
$from_name = 'ACME Corps Ltd'; //Name of sender mail 
$from_mail = '[email protected]'; //Mailfrom here 
$subject = 'subjecthere'; 
$message = 'mailmessage'; 
$filename = "yourfilename-".date("d-m-Y_H-i",time()); //Your Filename whit local date and time 

//Headers of PDF and e-mail 
$boundary = "XYZ-" . date("dmYis") . "-ZYX"; 

$header = "--$boundary\r\n"; 
$header .= "Content-Transfer-Encoding: 8bits\r\n"; 
$header .= "Content-Type: text/html; charset=ISO-8859-1\r\n\r\n"; //plain 
$header .= "$message\r\n"; 
$header .= "--$boundary\r\n"; 
$header .= "Content-Type: application/pdf; name=\"".$filename."\"\r\n"; 
$header .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n"; 
$header .= "Content-Transfer-Encoding: base64\r\n\r\n"; 
$header .= "$content\r\n"; 
$header .= "--$boundary--\r\n"; 

$header2 = "MIME-Version: 1.0\r\n"; 
$header2 .= "From: ".$from_name." \r\n"; 
$header2 .= "Return-Path: $from_mail\r\n"; 
$header2 .= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n"; 
$header2 .= "$boundary\r\n"; 

mail($mailto,$subject,$header,$header2, "-r".$from_mail); 
$mpdf->Output('$filename',); 
exit; 

但是我發現,這可以被設計爲通過PHP - 梅勒自動發送電子郵件。但在我的情況下,這應該像在html中正常的mailto鏈接一樣工作,因此應該在Outlook(或您選擇的程序)中準備並打開該消息,然後您可以查看它或只需單擊發送。

這又如何解決

回答

0

mailto:不支持附件。

可以使用參數啓動默認電子郵件客戶端,但不能傳遞附件。

+0

有沒有其他方法? – 2014-10-02 09:33:28

+0

據我所知,沒有 – Stefan 2014-10-02 12:20:22