Php 电子邮件pdf附件+;来自服务器的附件

Php 电子邮件pdf附件+;来自服务器的附件,php,email,attachment,fpdf,Php,Email,Attachment,Fpdf,我想用一封电子邮件发送2个附件。第一个来自fpdf类。这很好用。现在,第二个附件需要来自我服务器上的文件夹。但我似乎无法让它正常发送 这是我的密码 $to = $email; $from = $user_data['email']; $subject = $onderwerp; $message = $body; $separator = md5(time()); $eol = PHP_EOL; $fileatt = $user_data['verklaring']; // pos

我想用一封电子邮件发送2个附件。第一个来自fpdf类。这很好用。现在,第二个附件需要来自我服务器上的文件夹。但我似乎无法让它正常发送

这是我的密码

$to = $email; 
$from = $user_data['email']; 
$subject = $onderwerp; 
$message = $body;

$separator = md5(time());

$eol = PHP_EOL;

$fileatt = $user_data['verklaring'];  // post variable path to the file
$fileatt_type = "application/pdf"; // File Type
$fileatt_name = 'VAR verklaring ' . $user_data['voornaam'] . ' ' .  $user_data['achternaam'];
$file = fopen($fileatt,'rb');
$data = fread($file,filesize($fileatt));
fclose($file);
$data = chunk_split(base64_encode($data));

$filename = $factuur_data['factuur_nr'] . '.pdf';
$pdfdoc = $pdf->Output("", "S");
$attachment = chunk_split(base64_encode($pdfdoc));

$headers  = "From: ".$from.$eol;
$headers .= "MIME-Version: 1.0".$eol; 
$headers .= "Content-Type: multipart/mixed; boundary=\"".$separator."\"".$eol.$eol; 
$headers .= "Content-Transfer-Encoding: 7bit".$eol;
$headers .= "This is a MIME encoded message.".$eol.$eol;

$headers .= "--".$separator.$eol;
$headers .= "Content-Type: application/octet-stream; name=\"".$fileatt_name."\"".$eol; 
$headers .= "Content-Transfer-Encoding: base64".$eol;
$headers .= "Content-Disposition: attachment".$eol.$eol;
$headers .= $data.$eol.$eol;

$headers .= "--".$separator.$eol;
$headers .= "Content-Type: text/html; charset=\"iso-8859-1\"".$eol;
$headers .= "Content-Transfer-Encoding: 8bit".$eol.$eol;
$headers .= $message.$eol.$eol;

$headers .= "--".$separator.$eol;
$headers .= "Content-Type: application/octet-stream; name=\"".$filename."\"".$eol; 
$headers .= "Content-Transfer-Encoding: base64".$eol;
$headers .= "Content-Disposition: attachment".$eol.$eol;
$headers .= $attachment.$eol.$eol;

$headers .= "--".$separator."--";

mail($to, $subject, "", $headers);

我搜索了许多主题,并尝试将这些解决方案集成到我的代码中,正如您在上面所看到的,但收效甚微。

发送邮件并不像乍看起来那么容易。我建议使用一个完整的库,比如swiftmailer,而不是自己实现它:


看一看:

考虑使用Swiftmailer—一种支持附件的最先进组件。谢谢,这是一个很好的解决方案1我将把它作为常规答案添加,以供进一步参考…:-)