mPDF/PHP邮件类似html邮件

mPDF/PHP邮件类似html邮件,php,email,mailto,mpdf,Php,Email,Mailto,Mpdf,Im使用以下代码将生成的PDF附加到邮件 $mpdf=new mPDF(); $mpdf->WriteHTML(utf8_encode($html)); $content = $mpdf->Output('', 'S'); $content = chunk_split(base64_encode($content)); $mailto = 'mailto@mailto.com'; //Mailto here $from_name = 'ACME Corps Ltd'; //Nam

Im使用以下代码将生成的PDF附加到邮件

$mpdf=new mPDF(); 

$mpdf->WriteHTML(utf8_encode($html));
$content = $mpdf->Output('', 'S');
$content = chunk_split(base64_encode($content));
$mailto = 'mailto@mailto.com'; //Mailto here
$from_name = 'ACME Corps Ltd'; //Name of sender mail
$from_mail = 'mailfrom@mailfrom.com'; //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(或您选择的程序)中打开,然后您可以查看它或单击“发送”


如何解决此问题

mailto:
不支持附件


可以启动带有参数的默认电子邮件客户端,但不能传递附件。

还有其他方法吗?