Как использовать TCPDF с почтовой функцией PHP

$to = '[email protected]';
$subject = 'Receipt';
$repEmail = '[email protected]';

$fileName = 'receipt.pdf';
$fileatt = $pdf->Output($fileName, 'E');
$attachment = chunk_split($fileatt);
$eol = PHP_EOL;
$separator = md5(time());

$headers = 'From: Sender <'.$repEmail.'>'.$eol;
$headers .= 'MIME-Version: 1.0' .$eol;
$headers .= "Content-Type: multipart/mixed; boundary=\"".$separator."\"";

$message = "--".$separator.$eol;
$message .= "Content-Transfer-Encoding: 7bit".$eol.$eol;
$message .= "This is a MIME encoded message.".$eol;

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

$message .= "--".$separator.$eol;
$message .= "Content-Type: application/pdf; name=\"".$fileName."\"".$eol; 
$message .= "Content-Transfer-Encoding: base64".$eol;
$message .= "Content-Disposition: attachment".$eol.$eol;
$message .= $attachment.$eol;
$message .= "--".$separator."--";

if (mail($to, $subject, $message, $headers)){
$action = 'action=Receipt%20Sent';
header('Location: ../index.php?'.$action);
}

else {
$action = 'action=Send%20Failed';
header('Location: ../index.php?'.$action);
}

Я использую TCPDF в течение короткого времени для создания PDF-файлов из форм. Это работает довольно хорошо, и эта часть PHP не изменилась. Теперь я хочу отправить эти файлы PDF на мою учетную запись электронной почты.

Электронная почта фактически работает с этой кодировкой и прикрепляет PDF. Проблема в том, что это просто пустой PDF-файл размером примерно 100 байт. Что, конечно, не является действительным PDF-документом и не имеет ничего общего с ответами из формы.

Я действительно не знаком с прикреплением файлов к письму в PHP, и любая помощь в решении этой проблемы будет принята с благодарностью.

Update

Поскольку кажется, что несколько человек смотрят на это все еще, я опубликую свое текущее решение. Это включает в себя загрузку PHPMailer, как предложено ниже. Я начал с выходной строки для TCPDF.

$attachment = $makepdf->Output('filename.pdf', 'S');
SENDmail($attachment);

function SENDmail($pdf) {
require_once('phpmailer/class.phpmailer.php');
$mailer = new PHPMailer();

$mailer->AddReplyTo('[email protected]', 'Reply To');
$mailer->SetFrom('[email protected]', 'Sent From');
$mailer->AddReplyTo('[email protected]', 'Reply To');
$mailer->AddAddress('[email protected]', 'Send To');
$mailer->Subject = 'Message with PDF';
$mailer->AltBody = "To view the message, please use an HTML compatible email viewer";
$mailer->MsgHTML('<p>Message contents</p>'));
if ($pdf) {$mailer->AddStringAttachment($pdf, 'filename.pdf');}

$mailer->Send();
}

Ответы на вопрос(2)

Ваш ответ на вопрос