I got a script which sends out an automated email when a function runs. I want to be able to send the HTML email along with a PDF attachment. I know I need to encode the file in to Base64 however I am just getting base64 code attached to the bottom of my email. I assume it's something to do with the mime stuff. Anyone see the issue?
$to = 'example@example.com';
$subject = 'test!';
$file = file_get_contents("files/CAPS-Standing-Order.pdf");
$encoded_file = chunk_split(base64_encode($file));
// message
$boundary = md5("sanwebe");
$message = 'Hello';
// To send HTML mail, the Content-type header must be set
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
// Additional headers
$headers .= 'From: CAPS Consortium <contact@capsconsortium.com>' . "\r\n";
$message .= "--$boundary\r\n";
$message .="Content-Type: pdf; name=\"CAPS-Standing-Order.pdf\"\r\n";
$message .="Content-Disposition: attachment; filename=\"CAPS-Standing-Order.pdf\"\r\n";
$message .="Content-Transfer-Encoding: base64\r\n";
$message .="X-Attachment-Id: ".rand(1000,99999)."\r\n\r\n";
$message .= $encoded_file;
// Mail it
mail($to, $subject, $message, $headers);
